如何刷新域名以打开 http 而不是 https?

如何刷新域名以打开 http 而不是 https?

我们有一个网站使用 GoDaddy SSL 证书已有几年了,几天前我们决定将此证书用于另一个域名,并保持当前网站仅使用 HTTP 运行。

我们还将网站移至 Azure,并确保没有将 HTTP 重定向到 HTTPs 的 URL 重写。

但自从我们采取这一举措后,在所有浏览器上,当用户使用 HTTP 打开网站时,网站都会自动重定向到 HTTP,例如http://www.example.com,它会自动转到https://www.example.com。这肯定会显示令人厌烦的消息,即该网站不安全。

如何在不要求所有用户更改其浏览器安全设置的情况下阻止所有用户的这种行为?

不确定这些是否有帮助:

  • 该网站是一个非常古老的网站,使用经典的asp编写
  • SSL 证书来自 GoDaddy
  • 本网站的域名为UK2
  • 该网站现在托管在 Azure 应用服务上。

答案1

这种行为听起来很像 HSTS(https://en.m.wikipedia.org/wiki/HTTP_Strict_Transport_Security) 标头已为该域设置。好消息是,您可以简单地停止应用它,影响最终会消失。坏消息是,它通常设置为至少六个月,而提前停止它的唯一方法是让所有客户端清除缓存,这样他们就会忘记这个特定域的设置:HSTS 的目的是防止劫持者恶意关闭网站的 TLS 安全性。

答案2

启用 HTTPS。无论是在运行应用程序的同一 Web 服务器上(确信 Azure 可以做到这一点),还是在单独的反向代理上,都可以。如有必要,颁发新证书,x509 证书很便宜或免费。

HSTS 和 HTTP 不安全警告表明浏览器正在努力在各处使用 HTTPS。

如果不解释为什么不能使用 HTTPS,那么实现起来会更容易。这比向用户解释清除安全设置这项技术性且几乎不复杂的任务要容易得多。

答案3

如果您当前没有强制甚至重定向 https,则最有可能的情况是客户端缓存。

重定向可以通过 HTST(HTTP_Strict_Transport_Security)标头、简单的 301 HTTP 代码(永久重定向)、302 HTTP 代码(找到)、HTML 标头或位于加载页面上的脚本来完成。前两个选项缓存在客户端,因此如果客户端请求地址,即使没有向服务器发出“初始”请求,它也会重定向...

因为这需要在所有客户端上清除页面的缓存,所以我宁愿考虑获取免费(例如 Let's encrypt)证书以使页面在 HTTPS 上运行......我认为这比支持所有最近访问过您页面的客户端的工作量要少得多。

相关内容