服务器未监听 IPv6

我们的 Let’s Encrypt 证书今天未能续期,原因是服务器在 IPv6 上无响应。目前我们通过从 DNS 中移除 IPv6 条目解决了该问题。

我想之前应该是正常工作的,但我不太确定。我不清楚这里该检查什么。有什么建议吗?

防火墙看起来没问题:

$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
[...]        
80 (v6)                    ALLOW       Anywhere (v6)             
80/tcp (v6)                ALLOW       Anywhere (v6)             
443/tcp (v6)               ALLOW       Anywhere (v6)

但它仅在 IPv4 上监听:

$ ss -tulpn | grep -e 80 -e 443
tcp    LISTEN  0       128            0.0.0.0:80          0.0.0.0:*             
tcp    LISTEN  0       128            0.0.0.0:443         0.0.0.0:*   

按照 Discourse 官方标准安装指南 进行的安装,只要管理员配置了 DNS AAAA 记录且主机具备 IPv6 连接,即可在 IPv6 环境下正常运行。我们的团队一直在 Digital Ocean 的 VPS 服务中对此进行持续测试。

使用其他提供商或安装方式会引入诸多变量,我们无法为所有可能的组合提供支持。

不过,能否分享一下 docker ps 的输出结果?

没问题:

$ sudo docker ps
CONTAINER ID   IMAGE                 COMMAND        CREATED        STATUS        PORTS                                      NAMES
15ceb9642e9b   local_discourse/app   "/sbin/boot"   3 months ago   Up 3 months   0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   app

谢谢!