我有两个 http 服务器正在运行:
- nginx (80/443)
- 阿帕奇2(8080/8081)
我的 ports.conf (apache2) 看起来像这样:
Listen 8080
<IfModule ssl_module>
Listen 8081
</IfModule>
<IfModule mod_gnutls.c>
Listen 8081
</IfModule>
通常两者(nginx 和 apache)都并行运行,这没问题。来自letsencrypt的定期certbot运行(不知道为什么,它没有在crontab中监听)并将以下行附加到上述文件中:
#vim: syntax=apache ts=4 sw=4 sts=4 sr noet
<IfModule mod_ssl.c>
Listen 443
</IfModule>
Apache2 然后尝试重新启动,但失败了,因为端口 443 已被 nginx 使用。我试图删除或评论新行,但每次运行 certbot 时它们都会被覆盖。将端口从 443 更改为 8081 也会导致相同的结果。
我编写了一个包装脚本来停止 nginx,将 apache 端口重置为默认值,更新证书并将它们改回来。
是否可以防止 certbot 自动运行?相反,我想将我的包装脚本添加到 crontab。