申请免费的SSL证书(Nginx配置篇)

kyle 2016-11-09 2360次浏览 0条评论 0 打赏作者 1 0

输入自己的域名(多个域名用空格隔开), 点击Create Free SSL Certificate

认证域名

选择手动认证. 点击Verify Domain

按照提示先下载文件(1.Doenload File #1 2.Doenload File #2 ... [注:文件数量和所填域名数量相对应,此处是两个]),然后在网站根目录下创建名为 .well-know/acme-challenge 的目录(二级目录), 再将下载的各文件分别放到对应域名下的acme-challenge目录中(具体请看 5.Verfy successful ... 绿色文字部分), 然后点击Download SSL Certificate.

下载证书

配置Nginx

listen 443;
ssl on;
ssl_certificate /ssl_path/cert_chain.crt;  #ssl_path 为你自己证书存放路径
ssl_certificate_key /ssl_path/private.key;
ssl_session_cache    shared:SSL:1m;
ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
ssl_session_timeout  5m;
ssl_ciphers  HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers  on;
注:按照所有步骤配置完成重启Nginx后使用http请求如果出现400错误(400 Bad Request ...),请修改:
listen 443 ssl;
#ssl on;
...其余同上

如图:



下载下来的证书有三个文件.

ca_bundle.crt

ca_bundle.crt

private.key

Nginx 配置SSL

ssl_certificate文件需要合并ca_bundle.crt + ca_bundle.crt 文件. 执行命令

cat certificate.crt ca_bundle.crt >> cert_chain.crt

⚠️合并以后的文件会出现下面的错

nginx: [emerg] PEM_read_bio_X509_AUX("/data/itjh_net/ssl/sslforfree/cert_chain.crt") failed (SSL: error:0906D066:PEM routines:PEM_read_bio:bad end line)

这是因为cert_chain.crt文件有问题, 文件中有

vi cert_chain.crt
#找到以下字符
-----END CERTIFICATE----------BEGIN CERTIFICATE-----

这样是错误的, 需要修改成

-----END CERTIFICATE----- 
-----BEGIN CERTIFICATE-----

然后保存, 重启Nginx.

service nginx restart
或者
/usr/local/nginx/sbin/nginx -s reload    #注意替换成自己nginx安装路径

验证结果

打开网站 掘信 https://diginfos.com


0

0 条评论

    没有找到数据。

发表评论

kyle
土豪

kyle

注册时间:2016-10-28
最后登录:1个月前
发布
带到手机上看