最近从代理买了个Comodo Positive SSL证书,好便宜,才4.99刀/年,多年付还能继续优惠。。。
讲讲安装和配置的方法。
1、生成CSR
购买之前,先要生成CSR 文件 (Certificate Signing Request),可以在你的服务器上操作(如果安装了OpenSSL的话)
openssl req -new -newkey rsa:2048 -nodes -keyout example_com.key -out example_com.csr
会生成2个文件:
example_com.key
-- 你的私匙,一会配置NginX会用到example_com.csr
-- 等会提交给证书公司的
2、购买SSL证书
我买的是Comodo Positive SSL,从代理处买的,4.99刀一年,是目前发现的最便宜的了(请不要拿免费的ssl证书来比,至于为什么自行谷歌),感兴趣的可以点这里。
在经过一番配置并且提供了你的csr文件后,会发送给你一个zip包,里面有这些文件:
- Root CA Certificate - AddTrustExternalCARoot.crt
- Intermediate CA Certificate - COMODORSAAddTrustCA.crt
- Intermediate CA Certificate - COMODORSADomainValidationSecureServerCA.crt
- Your PositiveSSL Certificate - www_example_com.crt (or the subdomain you gave them)
3、合并证书
注意这一步cat的顺序很重要
cat www_example_com.crt COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > ssl-bundle.crt
存储下来
mkdir -p /etc/nginx/ssl/example_com/ mv ssl-bundle.crt /etc/nginx/ssl/example_com/ mv example_com.key /etc/nginx/ssl/example_com/
4、在Nginx中配置
我们假设你已经有了80端口的server,那么添加如下行就可以
server { # 省略了一些80配置 listen 443; ssl_certificate /etc/nginx/ssl/example_com/ssl-bundle.crt; ssl_certificate_key /etc/nginx/ssl/example_com/example_com.key; # 省略若干已有配置 }
5、想让HTTP强制跳转到HTTPS
那么再添加
ssl on; error_page 497 https://$host$request_uri;
6、防火墙
如果有防火墙,注意打开443,恩。。