【服务器】反向代理自动续签免费 Let‘s Encrypt 证书报错解决方法

服务器使用雷池 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 的验证方法决定的)。
  • 如果开放 80 端口,最好在反代设置强制 https,安全性差的 http 自动跳转 https。
  • 另外如果是初次申请过程中 403 报错,很有可能是 80 端口请求被供应商拦截了,检查域名有没有备案(未备案大概率没到防火墙就被运营商拦截)。小概率是路径被 waf 和反代拦截或者设置密码。
上一篇
下一篇