我们有一个网站使用 Godaddy SSL 证书已有几年时间,几天前我们决定将此证书用于另一个域,并保持当前网站仅使用 HTTP。
我们还将网站移至 Azure,并确保没有将 HTTP 重定向到 HTTPS 的 URL 重写。
但是由于我们做了这个动作,在所有浏览器上,当用户使用http://www.example.com等 HTTP 打开网站时,网站会自动重定向到 HTTPs ,它会自动转到https://www.example.com。当然,这显示了网站不安全的烦人信息。
如何在不要求他们更改浏览器安全设置的情况下阻止所有用户的这种行为?
不确定这些是否有帮助:
- 网站是一个很老的网站,用经典的asp写的
- SSL 证书来自 Godaddy
- 本网站域名在UK2
- 该网站现在托管在 Azure 应用服务上。
这种行为听起来很像为域设置的 HSTS ( https://en.m.wikipedia.org/wiki/HTTP_Strict_Transport_Security ) 标头。好消息是您可以简单地停止应用它,效果最终会消失。坏消息是它通常设置为至少六个月,而提前停止它的唯一方法是让所有客户端清除他们的缓存,这样他们就忘记了针对这个特定域的设置:HSTS 的目的是防止高- jacker 恶意关闭网站的 TLS 安全性。
启用 HTTPS。在运行应用程序的同一 Web 服务器上(很确定 Azure 可以做到这一点),或者在单独的反向代理上,都可以。如有必要,颁发新证书,x509 证书便宜或免费。
HSTS 和 HTTP 不安全警告是浏览器在各处都在努力尝试 HTTPS。
没有任何解释为什么你不能做 HTTPS,它会更容易实现。比向用户解释清除其安全设置的技术性和几乎粗略的任务更容易。
如果您当前没有强制甚至重定向 https,则最有可能是客户端缓存的情况。
重定向可以通过 HTST (HTTP_Strict_Transport_Security) 标头、简单的 301 HTTP 代码(永久重定向)、302 HTTP 代码(找到)、HTML 标头或位于加载页面上的脚本来完成。前两个提到的选项缓存在客户端,所以如果客户端请求地址,即使没有对服务器的“初始”请求,它也会被重定向......
由于这将需要在所有客户端上为页面清除缓存,我宁愿考虑获得免费(例如让我们加密)证书以保持页面在 HTTPS 上运行......我认为这比支持所有客户端工作量要少得多谁最近访问了您的页面。