Nginx配置ssl证书

省略nginx安装部分以及证书申请部分(可以参考“Apache配置https证书并跳转”)

1、先配置好nginx网站环境。

2、配置网站的虚拟主机,保证网站可以通过http访问。

3、再配置https访问(记得上传域名证书)。

4、将所有http访问重定向到https访问。



1、nginx的具体配置这里不做解释。

2、配置虚拟主机。

因通过yum安装的nginx的配置文件中默认开启了在其他文件路径中进行虚拟主机配置的选项。

    include /etc/nginx/conf.d/*.conf;

图片.png

所有我们在    include /etc/nginx/conf.d/   路径下写虚拟主机配置,

虚拟主机的名字自行设置,一般建议以域名的名称命名:

图片.png


配置如下:

server {
   listen 80;
   server_name www.zhanx.wang zhanx.wang; #网站域名
      }
   location ~ \.php$ {
   root  /data/discuz;  #网站文件路径
   fastcgi_pass 127.0.0.1:9000;
   fastcgi_index index.php;
   fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
   include fastcgi_params;
   }
   location / {
   root  /data/discuz; #网站文件路径
   index  index.php;
   }
}

3、配置https访问,该配置也在虚拟主机所在路径下进行配置即可:


配置如下:

图片.png

    # HTTPS server
    #
    server {
        listen       443 ssl;
        server_name  www.zhanx.wang;
        ssl_certificate    /data/nginx/1_zhanx.wang_bundle.crt;
        ssl_certificate_key  /data/nginx/2_zhanx.wang.key;
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;
        location / {
            root   /data/discuz;
            index  index.php index.html index.htm;
        }
    }

4、配置nginx的301重定向跳转

配置如下:

图片.png

server {
 listen 80;
 server_name www.zhanx.wang zhanx.wang;
 if ($server_port = 80) {  # http强制跳转https
        return 301 https://www.zhanx.wang;
    }
 location ~ \.php$ {
 root  /data/discuz;
 fastcgi_pass 127.0.0.1:9000;
 fastcgi_index index.php;
 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
 include fastcgi_params;
 }
 location / {
 root  /data/discuz;
 index  index.php;
 }
}


下面补充几种nginx的重定向配置方式如下:

常见的301跳转设置方法:

一、

if ($scheme = http ) {    return 301 https://$host$request_uri;
}

二、

server_name 8jieke.com ;
rewrite ^(.*) https://8jieke.com$1 permanent

三、

if ($server_port = 80 ) {    return 301 https://$host$request_uri;
}

四、

server_name 8jieke.com ;return 301 https://$server_name$request_uri;


yum安装的nginx在主配置文件中修改的配置方式如下图所示:

图片.png

图片.png

if ($server_port = 80) {
return 301 https://$server_name$request_uri;
}
if ($scheme = http) {
return 301 https://$server_name$request_uri;
}
error_page 497 https://$server_name$request_uri;