Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用多域SSL SAN证书在Chrome中建立wss websocket连接_Ssl_Websocket_Certificate - Fatal编程技术网

无法使用多域SSL SAN证书在Chrome中建立wss websocket连接

无法使用多域SSL SAN证书在Chrome中建立wss websocket连接,ssl,websocket,certificate,Ssl,Websocket,Certificate,有人能帮我理解以下内容并提出可能的解决方案吗 问题:使用多域(SAN)SSL证书时,Chrome浏览器中的安全websocket(wss)连接失败 详细信息:我们有一个多域SSL SAN证书,包括webapp.example.com和websocket.example.com。页面加载正确(浏览器根据SAN证书正确验证域,并显示“锁定”图标以指示连接安全)。然而,该页面上的上述web应用程序也尝试与wss://websocket.example.com/. 此连接失败,错误证书公用名称无效 失败

有人能帮我理解以下内容并提出可能的解决方案吗

问题:使用多域(SAN)SSL证书时,Chrome浏览器中的安全websocket(wss)连接失败

详细信息:我们有一个多域SSL SAN证书,包括webapp.example.com和websocket.example.com。页面加载正确(浏览器根据SAN证书正确验证域,并显示“锁定”图标以指示连接安全)。然而,该页面上的上述web应用程序也尝试与wss://websocket.example.com/. 此连接失败,错误证书公用名称无效

失败的一个弱假设:这个错误可能是因为

  • 在验证webapp.example.com是否为SAN证书中的有效域后,浏览器首先打开到的SSL连接
  • 当连接到wss://websocket.example.com,名称“websocket.example.com”与以前验证过的域(webapp.example.com)不匹配

  • 问题:有可能实现这一点吗?如果是,怎么做?

    你的假设是错误的。证书验证始终针对当前访问的URL中的域进行。即使提供的证书是相同的,也不会基于以前访问的某个URL执行此操作


    更有可能的是,您访问的域实际上不包含在多域证书中。请注意,证书中的
    webapp.example.com
    example.com
    条目不包括URL中的
    websocket.example.com
    或类似条目。

    您好,Steffen,感谢您的回答。我也不太相信我的弱假设:),但SAN证书确实包括这两个域。因此,我猜特定浏览器或一般浏览器中的Chrome无法处理网页中的这种混合使用。我试图查看Chromium的实现,但要找到这段代码并不容易。有没有进一步的想法?@vsv:我很确定这不是Chrome中的bug,因为你所描述的不是一个不寻常的设置。如果你能提供一个设置来重现这个问题,我可以仔细看看。谢谢你的帮助。这发生在访问受限的客户设置上。如果我们能在其他地方复制它,我会回击的。