Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.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
Certificate websocket错误\u证书\u权限\u无效_Certificate_Wss - Fatal编程技术网

Certificate websocket错误\u证书\u权限\u无效

Certificate websocket错误\u证书\u权限\u无效,certificate,wss,Certificate,Wss,当一些玩家进入我们的游戏时,他们在所有浏览器中都会遇到这个错误 我们最近换了证书。所以我在我们的游戏页面上查看一名玩家的证书 这是最新的证书。那么是什么导致了这个问题呢?我们应该在换证后做些什么吗 EDIT1 CDN是否缓存了证书?刷新CDN后,一些玩家可以立即连接到游戏 EDIT2 我们发现玩家的浏览器有这样一个选项“阻止不安全证书”,当该选项被启用时,他无法连接到服务器,当该选项被禁用时,他可以连接到服务器。我们导出中间证书并将其发送给播放器进行导入。之后,玩家可以使用选定的选项玩游戏 ED

当一些玩家进入我们的游戏时,他们在所有浏览器中都会遇到这个错误

我们最近换了证书。所以我在我们的游戏页面上查看一名玩家的证书

这是最新的证书。那么是什么导致了这个问题呢?我们应该在换证后做些什么吗

EDIT1

CDN是否缓存了证书?刷新CDN后,一些玩家可以立即连接到游戏

EDIT2

我们发现玩家的浏览器有这样一个选项“阻止不安全证书”,当该选项被启用时,他无法连接到服务器,当该选项被禁用时,他可以连接到服务器。我们导出中间证书并将其发送给播放器进行导入。之后,玩家可以使用选定的选项玩游戏

EDIT3

最后,我们发现中间证书位于nginx端,但在服务器端,ca缺失。添加它之后,websocket就可以工作了。当我在另一个论坛上问同样的问题时,我发现了一个测试证书链是否完整的好方法。您可以访问站点并更改站点的域和端口

如果服务器正确,您将找到服务器端证书和中间证书。如果找不到中间证书,您需要检查服务器配置。

您的服务器只提供链中的最后一个证书,即服务器的实际证书

本证书由“RapidSSL TLS DV RSA Mixed SHA256 2020 CA-1”的中间证书签署,该证书自2020-07-16起有效。 如果客户端有一段时间没有更新浏览器/操作系统,则表示他们没有此中间证书,并将此报告为无效的证书颁发机构

将中间证书放在证书文件中,应该可以解决这个问题,因为中间证书是由DigiCert根证书签名的,这是自2006年以来在游戏中出现的。每个人都有


你运行nginx,对吗?nginx中的
ssl\u certificate
指令接受带有证书链的文件。这个文件应该先有服务器证书,然后是中间证书。

我们检查了nginx,发现已经放置了中间证书。CDN是否缓存了证书?在我们刷新CDN后,一些玩家可以立即连接到游戏。是的,您提供了中间证书。然后让有问题的玩家打开页面。这是错误403,但这无关紧要。要求他们单击地址行中的锁定标志。证书是什么?可能是你的网站被防火墙屏蔽了,防火墙拦截了流量并注入了自己的证书。最后,我们在nginx端发现,中间证书是正确的。但在服务器端,中间证书丢失。@潘,您确定已将证书添加到服务器吗?我使用
openssl s_client
工具检查您的证书,但它仍然告诉我只有一个证书。你在问题中提供的链接也只显示了一个证书。是的,我说中间证书缺失是错误的。我只是问后端程序员,他告诉我服务器端没有为CA配置。我们在另一个站点上测试它,所以链接只显示一个证书。