公司微信小程序需要用到https,需要部署一下服务器。之前了解到有一款免费的证书服务,就拿来部署一下。
Let’s Encrypt
Linux基金会宣布它将托管Let’s Encrypt项目和互联网安全研究组(ISRG)。Let’s Encrypt CA项目由Mozilla、思科、Akamai、IdenTrust和EFF等组织发起,向网站自动签发和管理免费证书,加速将Web从HTTP过渡到HTTPS。ISRG则是开发Let’s Encrypt CA的非营利组织。
1、下载Let’s Encrypt客户端
首先我们要安装git
yum install -y git
2、Let’s Encrypt的客户端源码
git clone https://github.com/letsencrypt/letsencrypt
这样,我们就成功的下载了Let’s Encrypt的客户端签发证书
3、进入Let’s Encrypt目录
cd letsencrypt
4、运行Standalone插件
./letsencrypt-auto certonly --standalone
在你运行插件后,Let’s Encrypt会进入初始化阶段,这时,你要输入一些信息,用于生成证书
①输入邮箱信息
②按提示输入相应的字母后,出现下面的图就代表证书生成成功
上面的这段文字提示了证书的存放位置和过期日期。我们配置Nginx证书时的证书文件和密钥文件都在那个目录下。其中fullchain.pem包含了网站证书和根证书链
5、配置nginx
修改我们的虚拟主机配置文件,在listen后面把80改成443,并加SSL,然后在下面加入我们的证书和密钥地址。
listen 443 ssl; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers AES256+EECDH:AES256+EDH:!aNULL;
然后保存,退出,重启Nginx即可!
优化
1、重定向非HTTPS请求
server { listen 80; server_name example.com www.example.com; return 301 https://$host$request_uri; }
2、设置自动更新证书
./letsencrypt-auto renew
由于证书是最近更新过的, 所以 renew 命令只检查过期时间
设置自动更新,每天更新一次并重启Nginx
crontab -e 0 4 * * 1 /opt/letsencrypt/letsencrypt-auto renew >> /var/log/le-renew.log 5 4 * * 1 /etc/init.d/nginx reload
如无特殊说明,文章均为本站原创,转载请注明出处
- 转载请注明来源:在Nginx上部署 Let’s Encrypt 证书
- 本文永久链接地址:http://www.hongxiaowei.com/xiaowei/523.html