建议 - 开放80端口

最后更新: | 所有文档

我们偶尔会收到使用HTTP-01验证类型时遇到问题的人的报告,因为他们已经将网络服务器上80端口通过防火墙封闭。我们的建议是,所有用于一般互联网使用的服务器应该在端口80上提供HTTP,在端口443上提供HTTPS。它们还应该为所有发送至80端口的请求发送重定向至443端口,并且在所有响应中添加HSTS协议头。

常规来说,开放80端口并不会在服务器中引入更大的攻击面,因为80端口和443端口一般由同样的软件提供服务。

关闭端口80不会降低通过HTTP意外访问您网站的人的风险。 在正常情况下,那个人将收到HTTPS重定向,其后续流量将受到保护。如果该人受到活跃的MITM攻击,MITM将在端口80上回答,因此您的站点将永远无法对该用户回答“连接已被拒绝”。

最后,保持80端口开放并提供重定向有助于让人们访问您网站的正确版本(HTTPS版本)。有很多网站管理者无法控制的情况都可能短暂地将访问者引导至您网站的HTTP版本, 例如 电子邮件中的自动链接,或者手动输入网站域名。 将访客重定向到HTTPS版本而不是告诉访客“连接已被拒绝”类似的信息对他们有更大的帮助。

可惜,在某些情况下您可能无法控制80端口的开放或者关闭。 由于各种原因,您的ISP(通常为住宅网络提供商)将阻止80端口的访问。若您的ISP阻止您使用80端口但您仍旧希望从Let’s Encrypt获取证书,您有两种选择: 您可以使用域名DNS完成验证,或(在443端口)使用支持TLS-ALPN-01挑战的客户端