服务器使用雷池 WAF 反向代理网站。突然某天,访问网站提示网站不安全,发现是证书到期了。

但是一般的反代都支持证书自动续期,可能是证书自动申请过程出了错。
于是手动续期,查看了日志
error: one or more domains had a problem: [xxx] acme: error: 400 :: urn:ietf:params:acme:error:connection :: XXX.XXX.XXX.XXX: Fetching http://XXX.XXX.XXX/.well-known/acme-challenge/XXXX: Timeout during connect (likely firewall problem)
发现提示 80 端口未开放。HTTP-01 验证方式必须开放 80 端口 https://letsencrypt.org/docs/challenge-types/#http-01-challenge。
如果服务器运营商是腾讯云,找到防火墙,开放 80 端口即可。其他运营商类似。

总结:虽然反代强制启用了 https,日常使用网站,只开放 443 端口也能正常工作,但是 80 端口也需要开放,才能保证证书自动续签(免费证书 Let's Encrypt 的验证方法决定的)。