公司最近给自己的自媒体产品开发微信小程序,但是使用的后台接口需要是https服务,而之前公司使用的是阿里云的免费的HTTPS证书,蛋疼的阿里云突然把证书给下架了,突然想到之前看左耳朵耗子的一篇文章使用Certbot来实现HTTPS,这边也就考虑采用Cerbot来实现下
配置Certbot 证书
Certbot 的官方网站是 https://certbot.eff.org/ ,打开官网选择的 web server 和操作系统,如下图
此时会出现一个安装文档,告诉你如何来安装
1.下载certbot 客户端
wget https://dl.eff.org/certbot-auto chmod a+x certbot-auto
2.生成https证书
$ sudo ./certbot-auto --authenticator webroot --installer nginx
此时会有很多的操作步骤,这个时候你可以根据自己需求来配置,但是这个过程有点小麻烦,下面介绍一种简单的配置
3.停止nginx 服务
service nginx stop
4.生成证书
./certbot-auto certonly --standalone --email '邮箱地址' -d '域名地址'
5.nginx中配置证书
server { listen 443; ssl on; ssl_certificate /etc/letsencrypt/live/wechat.rest.90dichan.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/wechat.rest.90dichan.com/privkey.pem; server_name wechat.rest.90dichan.com; location / { proxy_pass http://10.30.49.201:9088/; proxy_buffer_size 512m; proxy_buffers 4 512m; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-Port $remote_port; } }
至此https配置完成
6.重新启动nginx服务
service nginx start
7.证书续签
Let’s Encrypt 生成的免费证书为3个月时间,所以这个问题就很蛋疼,这里我们使用定时任务来续签证书;
./certbot-auto renew