防火墙开启时 Certbot 无法获取证书

防火墙开启时 Certbot 无法获取证书

我有一个脚本,它为某个域创建新的 nginx 配置,并且在这个脚本中,我通过 请求新证书certbot。我正在运行启用的最新 debian 服务器ufw(配置设置如下所述)。并且我以 root 身份运行此 shell 脚本。

这是一个简单的调用,用于为某些域请求 SSL 证书并将其传递给 nginx 配置

certbot --nginx -d "$DOMAIN_NAME" -d "www.$DOMAIN_NAME"

当这行代码在脚本中运行时,我收到此错误:

An unexpected error occurred:
requests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))

有趣的是当我禁用 ufw 时,可以毫无问题地获得证书。当我向您展示 ufw 配置时,事情变得更加有趣。我正在运行 nginx 服务器,因此我必须打开 80/443 端口以接收服务器 HTTP(S) 请求,并且根据 certbot 文档,certbot 也使用这些端口来实现自己的功能。

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), deny (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
22/tcp (OpenSSH)           ALLOW IN    Anywhere
80,443/tcp (Nginx Full)    ALLOW IN    Anywhere
5432                       ALLOW IN    Anywhere
25/tcp                     ALLOW IN    Anywhere
465/tcp                    ALLOW IN    Anywhere
22/tcp (OpenSSH (v6))      ALLOW IN    Anywhere (v6)
80,443/tcp (Nginx Full (v6)) ALLOW IN    Anywhere (v6)
5432 (v6)                  ALLOW IN    Anywhere (v6)
25/tcp (v6)                ALLOW IN    Anywhere (v6)
465/tcp (v6)               ALLOW IN    Anywhere (v6)

有人知道是什么原因造成的吗?禁用 ufw 可以解决问题,这说明防火墙一定有问题,但根据我找到的所有信息,这个配置应该可以正常工作。

相关内容