我使用 3rd 方模块从源代码编译 Nginx。删除旧的 Nginx 并编译新的安装。很好,但是当你删除旧的 Nginx 时,certbot 脚本将自动被删除。
Nginx 编译安装后。当尝试通过命令“sudo apt install python3-certbot-nginx”安装 nginx certbot 时。它尝试使用 certbot 从存储库安装 Nginx。帮我解决这个问题。
如何在编译的 Nginx 上设置 certbot 而不依赖于从存储库安装 Nginx?
我使用 3rd 方模块从源代码编译 Nginx。删除旧的 Nginx 并编译新的安装。很好,但是当你删除旧的 Nginx 时,certbot 脚本将自动被删除。
Nginx 编译安装后。当尝试通过命令“sudo apt install python3-certbot-nginx”安装 nginx certbot 时。它尝试使用 certbot 从存储库安装 Nginx。帮我解决这个问题。
如何在编译的 Nginx 上设置 certbot 而不依赖于从存储库安装 Nginx?
为什么不为此使用 DNS 验证路由呢?
在 Ubuntu 上安装 Certbot
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install certbot
使用 DNS 验证生成证书 -
sudo certbot certonly --manual --preferred-challenges dns
感谢 Ritesh 的指导,但 DNS 验证需要额外配置。做一些谷歌搜索,并解决这个问题。
当证书已经存在时,从以前版本的 python-certbot 成功更新从源代码编译的 Nginx 服务器上的 SSL 证书。
安装 certbot 脚本的常规非 python 版本。
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get 更新
sudo apt-get install certbot
创建外壳脚本:
触摸 /etc/nginx/SSLrenewNginx.sh
回声“---------------------------------------------------------------------------------------------- ---------------------" >> /etc/nginx/sslrenew.log 日期 "+%H:%M:%S %d/%m/% y" >> /etc/nginx/sslrenew.log sudo certbot renew >> /etc/nginx/sslrenew.log
运行 crontab 编辑器:
crontab -e
并添加行(例如在 3 个月更新证书)
1 4 10 */3 * /etc/nginx/SSLrenewNginx.sh
完全的!
*如果您更频繁地更新证书,然后每 90 天更新一次,则不会造成任何问题。