为了在网站上启用 HTTPS,我们需要从证书颁发机构(CA)获取证书(一种文件)。 市面上获取证书的方式还是挺多的,这次主要给大家介绍一个我平时比较常用的一种免费的方式:cerbot
操作环境
Ubuntu 22.04
Nginx
使用教程
1. 安装Certbot客户端
sudo apt update
sudo apt install certbot
安装过程我就不放截图了,没什么特别的点,输入电子邮件地址,确认服务条款,一路确认即可。
2. 获取免费证书
certbot certonly --standalone -d example.com
example.com换成你的域名即可。比如域名为 haha.com 那就是 :
certbot certonly --standalone -d haha.com
正常情况:如果顺利,证书和私钥会生成在这。就可以到下一步了。
![]()
![]()
异常情况:
如果没有成功,按我遇到的情况是有两种:(因为是临时想起来写的,所以现在也没有截图)
1. 第一种是报错什么 80端口被占用之类的。这种就只要把nginx停了即可。
systemctl stop nginx
然后再执行上面那步 certbot ...
2. 第二种是 报错 Connection refused 啥的
这时候你要检查一下,你的域名是不是解析到当前服务器。要用域名解析到的那台当前服务器搞这个。然后同样再执行 certbot ...即可。
最后 记得重启nginx
systemctl start nginx
3. 配置Nginx开启HTTPS
找到你的nginx配置文件。如果你是apt安装的nginx 一般是在 /etc/nginx/nginx.conf
配置如下:配一下证书和私钥的位置。当然 你挪到其他地方也是可以的,记得对上位置即可。
- server {
- listen 443 ssl http2;
- server_name jinmo-coder.cn www.jinmo-coder.cn;
- # 证书
- ssl_certificate /etc/letsencrypt/live/jinmo-coder.cn/fullchain.pem;
- # 私钥
- ssl_certificate_key /etc/letsencrypt/live/jinmo-coder.cn/privkey.pem;
-
- location / {
- root /var/lib/jenkins/workspace/codecabin/.vuepress/dist;
- index index.html index.htm;
- }
- }
-
4. 定时刷新证书(可选)
因为证书的有效期为90天,所以我们需要让这个证书自动去更新,通过执行以下命令,自动检查系统内的证书,并且自动更新这些证书。
certbot renew --dry-run
通过定时任务让他来帮我们自动更新证书有效期
-
Cron 服务命令
- # 查看服务状态
- sudo service cron status
- # 开启服务
- sudo service cron start
- # 停止服务
- sudo service cron stop
- # 重启服务
- sudo service cron restart
检查服务状态,没有启用就开启服务

-
修改配置
crontab –e
第一次使用要选择编辑工具 我们选择2。然后在文件的尾部添加需要的定时任务

-
# 每隔 两个月的 凌晨 2:15 执行 更新操作
15 2 * */2 * certbot renew -
- # 检查定时任务是否生效
- crontab -l
评论记录:
回复评论: