上次更新: | 查看所有文档
我们偶尔会收到一些人报告说,由于他们将 Web 服务器的端口 80 进行了防火墙封锁,因此无法使用 HTTP-01 挑战类型。我们的建议是,所有用于一般 Web 使用的服务器都应该在端口 80 上提供 HTTP 协议,并在端口 443 上提供 HTTPS 协议。它们还应该对所有端口 80 请求发送重定向,并且可能还会发送 HSTS 标头(针对端口 443 请求)。
允许端口 80 不会在您的服务器上引入更大的攻击面,因为端口 80 上的请求通常由与端口 443 上运行的相同软件提供服务。
关闭端口 80 并不会降低偶然通过 HTTP 访问您网站的人的风险。在正常情况下,此人会收到重定向到 HTTPS 的提示,并且他们随后的流量将受到保护。如果此人受到主动 MITM 攻击,MITM 会在端口 80 上进行回复,因此您的网站将永远没有机会回复“连接拒绝”。
最后,保持端口 80 打开以提供重定向有助于将人们引导到您网站的正确版本(HTTPS 版本)。除了您的控制之外,还存在各种情况可能会导致某人短暂地访问您网站的 HTTP 版本 - 例如,电子邮件中的自动链接或手动键入域名。对他们来说,收到重定向提示比收到错误提示更好。
不幸的是,您可能无法控制是否为您的网站阻止了端口 80。一些(主要是住宅)ISP 会出于各种原因阻止端口 80。如果您的 ISP 这样做,但您仍然希望从 Let's Encrypt 获取证书,您有两个选择:您可以使用 DNS-01 挑战,或者可以使用 支持 TLS-ALPN-01 挑战的客户端之一(在端口 443 上)。