免费ssl证书申请以及nginx配置https访问攻略
·
攻略背景
最近需要为我哥的协会申请ssl证书,因为小程序接口需要https。于是开启了这一番折腾,最后简化为一篇攻略。
第一步,申请SSL证书
这个网站最好,可以申请到1年的,其他都是三个月。1年后再申请就行了。
https://freessl.cn/

第二步,验证服务器
可以DNS验证,就是配置域名,那个太麻烦,可以选择验证服务器。只要保证
http://www.你的域名.cn/.well-known/pki-validation/fileauth.txt可以访问并且里面是freessl给你的格式即可。
如果遇到.well-known无法生成这个目录,可以看我的文章【SSL证书申请之如何创建/.well-known/pki-validation/目录?】

第三步,得到.pem+.key文件
验证成功后可以下载到对应的.pem+.key文件

第四部,配置nginx
把下载到的.pem和.key文件放入nginx/conf/cert目录(需要新建)。
请注意再nginx.conf配置中的路径,是指/conf下面的路径,不是nginx主目录下的路径

然后备份并打开nginx.conf文件,新增一下https server的配置。这里的配置是代理转发为主,如果你用nginx做前端服务器,则修改对应的配置即可。
#配置http转发到https by moshow
server {
listen 80;
server_name www.你的域名.org.cn;
return 301 https://$server_name$request_uri;
}
#配置https以及证书 by moshow
server {
listen 443 ssl;
charset utf-8;
server_name www.你的域名.org.cn;
ssl_certificate cert/full_chain.pem;
ssl_certificate_key cert/private.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:8080;
}
}
第五步,重新加载配置nginx
cd /d D:\nginx-1.15.5
nginx -s reload
最后,访问https
看到成功访问即可。如果有问题的话,会有提示,证书不匹配等。
版本更新
- 2018-12-4 zhengk 补充了http自动跳转https的配置
- 2018-12-3 zhengk 配了好些个https域名后发现一级域名和二级域名都是需要独立申请的,例如www.abc.cn和abc.cn是共用一个证书的,xxx.abc.cn是需要另外申请一个ssl证书的。
- 2018-12-2 zhengk 测试发现,这个freessl.cn相比https://github.com/diafygi/acme-tiny这个三个月自动续期更加稳定、快速、便捷,当然各有优缺点,大家理智看待,自行取舍即可。
更多推荐


所有评论(0)