0.序言
随着小程序的开放,自己也尝试去写一些,但是发现对于后台接口必须使用HTTPS,申请证书成了一个问题,谷歌下,发现了Let's Encrypt免费SSL证书。于是开始申请并部署,记录下来。
1.申请证书
1.1 登陆网站
网址:https://www.sslforfree.com/
如下图:
1.2 输入域名
会看到一个搜索框,输入我们需要获取SSL证书的网址。然后点击后面的Create Free SSL Certificate按钮
例如:www.hao123.com
1.3 手工/自动获取权限上传验证文件
选择手工获取证书文件,点击Manual Verification 按钮
1.4 验证网站所有权
将两个文件下载到本地,然后在Nginx网站目录中创建.well-know以及里面再创建一个acme-challenge目录,再将上面下载的2个文件丢进去。最后点击按钮验证。这一部分花了我很长时间,主要是网站的Nginx配置有些问题。
1.5 获取证书下载本地
验证网站之后,就能够下载SSL安全证书的文件。接下来可以部署在网站上。
3 证书部署(Nginx)
SSL证书压缩包里有3个文件,分别是certificate.crt、ca_bundle.crt,以及private.key。在Nginx部署证书,需要在nginx.conf文件中进行配置,同时,也需要对证书文件合并。我们一步一步进行总结。
3.1 合并证书文件
需要将certificate.crt、ca_bundle.crt合并到一起,两个文件用EditPlus软件打开,将ca_bundle.crt内容粘贴进入certificate.crt尾部即可。
在服务器D盘创建一个目录
D:/cert
将合并后的certificate.crt和private.key放入文件夹下。
3.2 Nginx配置文件
配置文件需要打开443端口的监听,具体如下:
# nginx.conf
server {
listen 443 ssl;
server_name www.hao123.com;
ssl_certificate D:/cert/certificate.crt;
ssl_certificate_key D:/cert/private.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
同时,可以在监听80端口的配置上进行修改,让所有的请求都从443过。
server{
listen 80;
charset utf-8;
server_name www.hao123.com;
rewrite ^/(.*) https://www.hao123.com/$1 permanet;
}
此时,访问https://www.hao123.com可以看到
4.感激
感谢博客
老蒋部落
老左博客
Let's Encrypt中文笔记