因为ssl证书过期了,所以想要重新弄一个,这里看到沃通数字证书便试了下。好像还真的可以。不过要注册一个账号才能有一个一年期限的证书,不过也还不错。
这里选方式二,自己提交,不然没有.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
这个可能要等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; } }
这样就完成了!
转载于:https://blog.51cto.com/jonyisme/1662453