为什么是“www”。在这个 HTTPS URL 中被认为是不安全的?

信息安全 tls
2021-08-14 10:10:29

我正在对 Soundcloud 的oEmbed做一些跨域请求,我注意到一些奇怪的行为。
当通过常规 HTTP 连接从我的本地主机发出请求时,一切正常。但是,当代码被推送到我们的 HTTPS 测试服务器时,我的浏览器出现以下错误:

[阻止] ' https://example.com ' 的页面是通过 HTTPS 加载的,但运行来自 https://www.soundcloud.com/oembed?url=https://soundcloud.com/gwatsky/pumped的不安全内容-up-kicks-remix&format=js&callback=JSON_CALLBACK:此内容也应通过 HTTPS 加载。

请求 URL 是//www.soundcloud.com/oembed?url=https://soundcloud.com/gwatsky/pumped-up-kicks-remix&format=js&callback=JSON_CALLBACK注意“ www. ”。

我尝试将协议指定为 HTTPS 并在参数中删除/指定协议url,但我一直收到错误消息。

最后,我www.从 URL 中删除了,一切都开始正常了。

tl;dr为什么www.在此 HTTPS URL 中存在安全风险?

3个回答

我认为你对你的问题做了一个很大的假设:

为什么 Chrome 会考虑“www”。在 HTTPS 网址中是否存在安全风险?

因为事实并非如此。

正在发生的事情是 SoundCloud 正在通过 301 重定向强制用户从www.soundcloud.com到到。soundcloud.com问题是他们将所有流量重定向到,http://soundcloud.com而不管原始协议如何。

这只是 Soundcloud 网站的配置问题,与浏览器或网络安全标准无关。网站的 www 子域没有固有风险。

您已经想到的解决方案是删除 www 以避免重定向。如果您愿意,您可能希望让站点的管理员意识到这个问题。

您的浏览器显示此警告是因为 Sound Cloud 显然错误地为以下 URL 配置了重定向:

https://www.soundcloud.com/oembed

重定向到:

http://soundcloud.com/oembed

注意正常的“http”。这就是为什么浏览器在嵌入另一个基于 https 的网站/页面时会发出危险信号。然而,

https://soundcloud.com/oembed

没有被重定向,因此保持在 http 的安全端。

观察和行为是正确的,但结论是错误的。SSL证书有两种颁发方式

  1. 到现场。在您的情况下 soundcloud.com 。根据命名约定,soundcloud.com 和 www.soundcloud.com 是两个不同的名称。因此,使用 www.soundcloud.com 访问的 https 站点,它否认证书未颁发给 www.soundcloud.com 。这并不意味着存在问题或不安全。数据仍然通过 SSL 层,并在通过 soundcloud.com 访问时提供相同的保护。

  2. 在公司站点中,证书颁发给通配符域。但是通配符证书非常昂贵,因此,大多数客户避免使用通配符。在通配符的情况下,证书颁发给 *.domain。在您的情况下,如果证书以 *.soundcloud.com 的形式颁发,那么 www.soundcloud.com 或 soundcloud.com 都可以使用。甚至 w3.soundcloud.com any.soundcloud.com 也可以。

感谢您带来了一个非常好的讨论主题,但在这种情况下需要了解整个 SSL 证书、域、命名行为。

很多时候,服务器中根证书链的配置不当也会导致错误。