我使用第三方模块从源代码编译 Nginx。删除旧 Nginx 并安装新编译的版本。一切正常,但是当您删除旧 Nginx 时,certbot 脚本将自动被删除。
Nginx 编译并安装后。当尝试通过命令“sudo apt install python3-certbot-nginx”安装 nginx certbot 时。它尝试使用 certbot 从存储库安装 Nginx。帮我解决这个问题。
如何在已编译的 Nginx 上设置 certbot,而无需从存储库安装 Nginx?
答案1
为什么不采用 DNS 验证路线呢?
在 Ubuntu 上安装 Certbot
sudo add-apt-repository ppa:certbot / certbot
sudo apt-get 更新
sudo apt-get 安装 certbot
使用 DNS 验证生成证书 -
sudo certbot certonly --manual --preferred-challenges dns
答案2
感谢 Ritesh 的指导,但 DNS 验证需要额外配置。谷歌搜索了一下,解决了这个问题。
当证书已经存在时,要从先前版本的 python-certbot 成功更新从源代码编译的 Nginx 服务器上的 SSL 证书。
安装常规的非 Python 版本的 certbot 脚本。
sudo 添加 apt 存储库 ppa:certbot/certbot
sudo apt-get 更新
sudo apt-get 安装 certbot
创建 shell 脚本:
触摸/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 天更新证书一次以上,则不会造成任何问题。