3

我有两个 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。

4

1 回答 1

2

我也有这个问题。我意识到我已经安装了配置为使用 apache 的证书,然后由 nginx 代理。为了解决这个问题,我只是使用 nginx 作为服务器为该域创建了一个新证书。它在尝试更新期间不再尝试配置端口号。

于 2017-11-29T17:32:17.653 回答