都2019年了,没HTTPS加持?Let's Encrypt安排一下
# 目的
# 什么是https?
更安全的网络传输协议
# 为什么要https?
浏览器大厂们都将非https得网络传输标记为非安全了,所以,为了安全,将网站都得安排上htpps。
# 使用那些机制加持https?
买收费的,各大网络服务商提供的HTTPS证书,服务商一条龙服务省心省力;安装免费的,类如Let’s Encrypt,只需要自己多看看教程,折腾折腾也能用上https,并且也是大多浏览器认可的。
# Let’s Encrypt的使用
# 下载安装
提示: 当前环境 centos6 + nginx
可以直达 => 官方 查看其它系统操作方式
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
# 生成证书
提示:
- 安装证书的域名需能正常访问,且是nginx文件夹站点,certbot会验证webroot文件夹
- 端口项目先改成默认站点访问安装成功后改回即可
- 有oss或cdn的CNAME解析,需要更换成A解析安装成功后更换回来
- 安装成功过期的请续费证书,不要重新安装,避免重复
# 安装命令
./certbot-auto certonly --no-self-upgrade --email 274635143@qq.com --agree-tos --webroot -w /data/wwwroot/assets -d yun.bstu.cn
–no-self-upgrade 不接受更新
# 安装后提示
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/www.vpser.net/fullchain.pem. Your cert will
expire on 2016-10-01. To obtain a new or tweaked version of this
certificate in the future, simply run certbot-auto again. To
non-interactively renew *all* of your certificates, run
"certbot-auto renew"
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
即表示安装完成,3个月的有效期
# 续费证书
# 手动
certbot-auto renew
# 编写crontab定时自动脚本
30 2 * * 1 sh /data/sh/renew_certbot.sh >> /data/sh/letsencrypt-renew.log
# renew_certbot.sh文件内容
#!/bin/sh
echo date +"%Y-%m-%d %H-%M-%S"
echo '--开始执行HTTPS更新--'
cd /usr/local/nginx/conf/https/
echo '当前网站列表'
ls -l
echo '修改需要更新的配置文件'
mv https.yun.bstu.cn.conf https.yun.bstu.cn.confs
mv http.yun.bstu.cn.confs http.yun.bstu.cn.conf
echo '重启nginx'
sleep 10s
nginx -s reload
echo '执行更新证书'
cd /data/apps/
./certbot-auto renew --force-renewal
sleep 60s
echo '修改回nginx配置文件'
cd /usr/local/nginx/conf/https/
mv https.yun.bstu.cn.confs https.yun.bstu.cn.conf
mv http.yun.bstu.cn.conf http.yun.bstu.cn.confs
echo '再次重启nginx'
nginx -s reload
sleep 10s
echo '完成!'
exit 1
大致流程:将需要更新的域名的nginx配置更换成静态站点配置,重启Nginx,执行脚本更新命令,更新完成,改回配置,重启Nginx。
非专业脚本,受用即可。
更新完成提示:
- cdn(阿里云)域名如果证书内容改变了,需要手动更新
- cdn和oss有CNAME解析,需要更换回来
- /etc/letsencrypt/live/为证书软连接文件夹,/etc/letsencrypt/archive/为证书文件夹,/etc/letsencrypt/renewal/为域名配置文件夹(.well-known文件路径配置也在里面)
# 说明
此使用配置为个人理解,可能有不正确之处。
^_^成为第一个评论的人吧!
评论
昵称
邮箱 (回复通知)
站点
内容 (支持Markdown语法)