我已经阅读了一些关于 SF 的答案,但我离解决方案还差得远。我的问题似乎有点具体......
客户在端口 81 上访问网络服务器。随着 HTTPS 的总体趋势,该服务被升级并安装在标准端口 443 上。对我的故事至关重要的是,HSTS 在新的 HTTPS 网站上启用。
在端口 81 上,我们放置了一个简单的 Apache 重定向:
ServerName example.com
RewriteEngine on
RewriteCond %{SERVER_NAME} =example.com
RewriteRule ^ https://example.com/ [END,NE,R=permanent]
有效。访问http://example.com:81会自动重定向到https://example.com/
然而,多亏了 HSTS,它只工作一次。我想许多用户正在通过链接、书签、缓存的 Google 搜索进行访问……并自动被定向到http://example.com:81。甚至我的浏览器的自动完成功能仍然喜欢建议 :81 链接,所以我猜我不是唯一一个。
他们的浏览器具有有效的 HSTS 策略会对不安全的请求执行内部升级,从而导致浏览器向https://example.com:81发送请求。由于 SSL 错误而无法加载 - 端口未配置用于 SSL 流量。
因此,我需要一种将http://example.com:81和https://example.com:81重定向到https://example.com的方法
我见过 Webmin,当通过http://example.com:10000访问时,会给出一条自定义错误消息,说明该站点在 HTTPS 上处于活动状态,这是由 Webmin 而不是浏览器生成的。即使我可以让这样的页面加载并实现<meta>
对新 URL 的刷新,当旧 URL 自行播放并从链接、缓存等中删除时,这仍然会取悦我们的用户。