certbot开启亚马逊EC2主机https

邱秋1年前 11:31

国内那么多云主机运营商, 你为何要买国外的主机呢, 你肯定在干些见不得人的勾当..

开玩笑了, 说不定你在闷声发大财也说不准.

之前有说过可以利用certbot申请免费的证书,给站点开启 https
传送门

certbot在亚马逊的主机无法顺利执行,不过可以通过手动修改源代码的方式,这样certbot就可以完成任务了.

vim打开certbot

#搜索找到这一行
elif [ -f /etc/redhat-release ]; then

#然后替换成如下:
elif [ -f /etc/redhat-release ] || grep 'cpe:.*:amazon_linux:2' /etc/os-release > /dev/null 2>&1; then

#保存退出收工

这样就可以利用 certbot --nginx 一步到位了.

不过前提是 你的nginx必须要安装在/etc目录下面, 假如不是这个目录的话, 你可以把你当前的nginx安装目录的config配置文件copy/etc/nginx下.没有就手动创建. 这样执行certbot --nginx之后 ,再把他生成的最终配置文件copy到当前nginx目录下,然后nginx -s reload重启即可

文中所说certbot要修改的地方就是这里https://github.com/certbot/certbot/blob/master/certbot-auto#L779可以在github上查看

自动更新证书

#使用root用户
sudo -i

#增加定时任务
crontab -e

#每个月1号2点30分更新
30 2 1 * * /path/to/certbot-auto renew --pre-hook "service nginx stop" --post-hook "service nginx start"

#dry run
./path/to/certbot-auto renew --dry-run

本文于1年前 11:31发布在[code]分类下,当前已被围观712次

相关标签:nginxlinux

永久地址:https://www.chuchur.com/article/amazon-certbot-auto-nginx

版权声明:自由转载-署名-非商业性使用