因为ssl证书过期了,所以想要重新弄一个,这里看到沃通数字证书便试了下。好像还真的可以。不过要注册一个账号才能有一个一年期限的证书,不过也还不错。

wKiom1V_91fTZp2LAAO2i0Lq-qQ293.jpg

这里选方式二,自己提交,不然没有.key文件,会搞得特别纠结。当然也可能是我对证书这块不了解。因为到时候弄好后给你下载的只有crt文件。目前我还不知道怎么从crt里生产个key文件或者pem文件来

既然要自己提交csr那就需要用openssl生成一个了

生成服务器私钥先
openssl genrsa -des3 -out servername.key 2048
创建证书签名请求(Certificate Signing Request (CSR))
openssl req -new -key server.key -out server.csr
清除以SSL启动Nginx时提示必须输入密钥
cp server.key servername.key.org
openssl rsa -in servername.key.org -out servername.key

wKiom1V_--rgCcQqAAG-a8EyztI926.jpg

这个可能要等2-3个小时,也有可能一天。


下载后有2个crt文件。

使用其中的一个配置到nginx里面

  server {
                listen       80;
                server_name  www.xxx.com;
#实现http到https的跳转规则
       if ($host ~* www.xxx.com) {
           rewrite ^/$  https://www.xxx.com/ permanent;
                   }
                index index.html index.php index.htm;
                root /home/www/html;  
        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        
                location /\. {
                        deny all;
                }
        
        location / {
               if (-f $request_filename) {
                   expires 30d;
                   break;
               }
               if (!-e $request_filename) {
                   rewrite ^(.+)$ /index.php last;
               }
        }
        location ~ .*\.php$ {
             root /home/www/html; 
             fastcgi_pass   127.0.0.1:9000;
             fastcgi_index  index.php;
             fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
             include        fastcgi_params;
        }
    
server{
      server_name   www.xxx.com;
      listen 443;
      root /home/www/html; 
      index index.html index.htm index.php;
      ssl on;
      ssl_certificate /usr/local/nginx/conf/www.crt;
      ssl_certificate_key /usr/local/nginx/www.key;
   
       location /\. {
                        deny all;
                }
 
      location / {
             if (-f $request_filename) {
             expires 30d;
             break;
             }
             if (!-e $request_filename) {
             rewrite ^(.+)$ /index.php last;
             }
        }
       location ~ .*\.php$ {
            root  /home/www/html; 
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  HTTPS $fastcgi_https;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
                } 
}


这样就完成了!