接上篇讲到 Startssl SSL 证书申请成功后(),该怎么配置 SSL 证书到Nginx上面呢?其实步骤很简单。
1,按照如下格式修改nginx.conf 配置文件,80端口会自动转给443端口,这样就强制使用SSL证书加密了。访问http的时候会自动跳转到https上面。
server {
listen 80;server_name www.域名.com;rewrite ^(.*) https://$server_name$1 permanent;}server { listen 443;server_name www.域名.com;root /home/www;ssl on;ssl_certificate /etc/nginx/certs/server.crt;ssl_certificate_key /etc/nginx/certs/server.key;}
/etc/nginx/certs/server.crt 和 /etc/nginx/certs/server.key 是证书文件和私钥文件放置路径,这个根据自己的情况修改。
2,修改配置文件后,重启nginx以为大功告成。没想到几分钟后收到了startssl的邮件。提示
It seems, that the installation of your server certificate with serial number 1*** for www.***** is not complete!
让参考,根据参考提示需要合并证书,于是有了下面这几个步骤:
wget http://cert.startssl.com/certs/ca.pem
wget http://cert.startssl.com/certs/sub.class1.server.ca.pemcat ca.pem sub.class1.server.ca.pem >> ca-certs.crtcat ca-certs.crt >> server.crt
这是因为需要把 Startssl 的根证书和sub class1的证书附上,因为是他们把证书颁发给你,浏览器需要这张证书才认识你的证书。最后重启nginx,在 Firefox / Chrome / Opera / Safari / IE 6、7、8 下测试均没问题。这样我就有了一个有效期一年的https站点咯。O(∩_∩)O哈哈~
注意:如果忘记做第2步的话,在以上的浏览器下访问均会提示不信任。
证书网站演示: