免费SSL证书 Certbot
时间:2024-02-28 17:41:41
参考:
环境:
- Centos7
Certbot 安装#
简介#
Certbot 会根据 Web 服务器的配置文件自动生成 HTTPS 证书,自动续期证书。
注:如果执行 certbot 没有反应,可能是 snapd 服务挂掉了,重启即可。
第一步 安装 snapd#
# 添加 epel 仓库
sudo yum install epel-release
# 安装 snapd
sudo yum install snapd
# 添加通信 socket
sudo systemctl enable --now snapd.socket
# 命令行支持
sudo ln -s /var/lib/snapd/snap /snap
第二步 删除用系统命令安装的 Certbot#
第三步 安装 Certbot#
安装过程中需要在命令行 输入 邮箱,选择域名等。
第四步 运行 Certbot#
运行之后会根据nginx配置文件里面的域名自动生成证书。
nginx 配置:
server {
gzip on;
gzip_buffers 4 16k;
gzip_comp_level 6;
gzip_vary on;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
listen 80;
server_name www.sunfeilong.com;
access_log /var/log/nginx/www_sunfeilong_com_$logdate.log main;
location / {
proxy_pass http://127.0.0.1:7860;
proxy_set_header Host $http_host;
add_header Cache-Control "public, max-age=36000";
}
}
自动生成:只需配置80端口,certbot 会自动生成 443 的配置
手动生成:生成之后手动修改配置文件,以后不需要手动修改配置文件
配置如下:
server {
listen 443 ssl;
server_name note.sunfeilong.com; #根据这里生成证书
# ssl on;
ssl_certificate /etc/letsencrypt/live/note.sunfeilong.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/note.sunfeilong.com/privkey.pem; # managed by Certbot
//....
}
第五步 测试自动续期#
查看定时任务,里面有 certbot
输出如下:
NEXT LEFT LAST PASSED UNIT ACTIVATES
Thu 2024-02-29 11:49:00 CST 18h left n/a n/a snap.certbot.renew.timer snap.certbot.renew.service
第六步 验证网址是否支持 HTTPS#
用 HTTPS 的方式访问网址,查看是否有证书 https://yourwebsite.com
。