我对此有点陌生,所以请耐心等待...在公司政策中,域中的所有机器都必须使用 SSL(CGP 在 Chrome 中强制使用 SSL)..但是它对某些网站有效,而对某些网站则不适用...这让我很困惑
我有这个服务器 - 假设为 1.2.3.4(IP),DNS 名称为 zipkin.company.com ...该应用程序在端口 9411 上运行...
当我尝试通过 Chrome 中的“zipkin.company.com:9411”访问该应用程序时,它会自动重定向到 https:// 协议,并且由于该应用程序未在该协议上运行(未启用 ssl),因此它失败了......
但是,当我尝试通过 IP (1.2.3.4:9411) 访问该应用程序时,我可以毫无问题地访问它...
为什么 DNS(不是真正的 DNS,而是域本身)在 Chrome 中强制使用 HTTPS?当我使用其他浏览器(我的公司没有强制使用 HTTPS -> Brave 浏览器)时,即使直接使用 DNS 名称也可以正常工作......
所以这似乎是 Chrome 的问题。有什么办法可以绕过它吗?在“chrome://net-internals/#hsts”中禁用它不起作用,我猜它在下次登录时会被公司政策覆盖。此外,我们无法强迫所有用户(数千人)这样做 :) 这不可行
猜猜我能做什么?谢谢
答案1
DNS 不是这样工作的。DNS 只能给您一个 IP 地址或 cname 作为回复。
协议更改与网络服务器的回复有关。请尝试检查域名的 DNS 回复:zipkin.company.com
答案2
看起来贵公司的政策强制在 Chrome 中自动切换http://
URL 。https://
无论是因为代码中的错误,还是设计使然,仅当您在 URL 中使用域地址时才会发生切换,而使用 IP 地址时则不会发生切换。
如果除 Chrome 之外的其他浏览器(不由您的公司管理)运行正常 - 正如您所写 - 那么解决方案很简单:使用其他浏览器。
如果这不可能,并且如果你有权访问该机器zipkin.company.com
,并且如果你同意从其他端口访问该应用程序(例如,9412 而不是 9411),那么请安装隧道在该机器上并使用它来创建启用 SSL 的端口 9412,然后将未加密的流量转发到端口 9411。