我的一个朋友(不是技术人员)将一个 Web 应用程序的 API 从 Azure 移到了 liquidweb。使用 FireFox 和 Edge 的用户可以正常浏览该网站。但使用 Chrome 的用户会遇到 SSL 问题。当我使用 Chrome 访问 api url 时https://api.example.com
,我注意到地址栏中出现了感叹号,而不是通常的锁定图标。单击感叹号会出现典型的Your site connection is not secure message
。同样,这在 FireFox 或 Edge 中不是问题。
我查看了我朋友的 IIS 设置,如下所示:
并且证书的详细信息除了和之外都是“绿色图标”,key usage
如下basic constraints
所示
我个人在 bluehost.com 共享主机上托管了其他网站,该网站使用 linux、nginx 和 let's encrypt ssl,显示相同的设置,key usage
并且basic constraints
没有同样的问题。
我朋友的 SSL 设置可能存在哪些问题,从而导致 Chrome 出现问题?
额外的
以下是我在 Chrome 中看到的内容:
另外,我朋友的服务器使用 Windows Server 2016 版本 1607 和 IIS 版本 10。
额外 2
FireFox 显示主题 Alt Name 与通用名称相同。截图如下:
额外 3
答案1
这可能是因为域名未在证书的“主题备用名称”(SAN) 字段中列出,并且自 Chrome 58 以来它是强制性的: https://support.google.com/chrome/a/answer/7391219?hl=en
确保域名在主题备用名称中列出,即使主题名称正确。
或者你正在使用撤销 Let's Encrypt 证书,请点击此处:https://checkhost.unboundtest.com/
答案2
看起来以下 IIS 设置解决了我的问题:
转到应用程序的 SSL 设置
然后将单选选项改为忽略:
这个答案可以更深入地解释为什么这样做有效: