我有一个脚本,它为某个域创建新的 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 可以解决问题,这说明防火墙一定有问题,但根据我找到的所有信息,这个配置应该可以正常工作。