我不希望在端口 8001 上使用 HSTS,而是在其他端口上使用

我不希望在端口 8001 上使用 HSTS,而是在其他端口上使用

我在 Nginx.conf 中为我的域名设置了 hsts。它会将我的网站重定向到主端口 80 的 https。但我不希望重定向发生在我的其他端口上。我该怎么做?

答案1

简化:HSTS 是域范围内的政策,禁止在您的域上使用纯 http。无论您想通过纯 http 访问哪个端口,无论是默认端口 80 还是其他端口(如 8001),该政策都是如此。

如果你请求你的域名,
http://www.example.com则通过将 uri 重写为
https://www.example.com

在端口 80 以外的其他端口上,通过将普通 http 请求重写为 https 但保留非标准端口来实现,
http://www.example.com:8001/page.html应该重写为
https://www.example.com:8001/page.html

因此,只要您配置端口 8001 以支持 TLS 就可以了。

https://www.rfc-editor.org/rfc/rfc6797

      The UA MUST replace the URI scheme with "https" [RFC2818], and

      if the URI contains an explicit port component of "80", then
      the UA MUST convert the port component to be "443", or

      if the URI contains an explicit port component that is not
      equal to "80", the port component value MUST be preserved;
      otherwise,

      if the URI does not contain an explicit port component, the UA
      MUST NOT add one.

      NOTE:  These steps ensure that the HSTS Policy applies to HTTP
             over any TCP port of an HSTS Host.

相关内容