![Chrome 根据请求删除 www 子域名](https://linux22.com/image/1581291/Chrome%20%E6%A0%B9%E6%8D%AE%E8%AF%B7%E6%B1%82%E5%88%A0%E9%99%A4%20www%20%E5%AD%90%E5%9F%9F%E5%90%8D.png)
我目前已使用 SSL 证书设置了一个网站,该证书不支持通配符并指向裸域。在不同的浏览器上测试 URL 后,我注意到,当使用 www 子域请求域时 (https://www...),该证书不支持,但在 Chrome 中会得到响应。因此,我在开发工具中查找了请求的 URL,发现 Chrome 确实请求了不带 www 子域的 URL。这是 Chrome 的正常行为吗?
在其他浏览器上不会发生此行为。在 Firefox 和 Internet Explorer 中,我得到了预期的证书错误。
答案1
这很可能不是证书的问题,而是 Chrome 的“功能”。
如果你将 Chrome 设置为查看标志chrome://flags/#omnibox-ui-hide-steady-state-url-trivial-subdomains
,你会看到以下文本:
多功能框 UI 隐藏稳定状态 URL 琐碎子域
在多功能框中隐藏琐碎子域名从稳定状态显示的 URL 中恢复。编辑期间会恢复隐藏部分。对于 Mac,除非启用 MacViews,否则此标志将不起作用。– Mac、Windows、Linux、Chrome OS、Android
Chrome 认为“www”是“简单子域名”,因此默认隐藏它。
我没有您的网站进行测试,但禁用此标志可能会使 Chrome 避免在网站名称前添加“www”。如果这还不够,那么 Chrome 的友好性就太过了。