防火墙阻止连接到第二个WebSocket服务器



简而言之,我们的web应用程序有两个独立的服务器。第一个是使用Websocket处理"聊天室"的主服务器,第二个服务器仅通过Websocket来处理WebRTC音频聊天室。两台服务器都使用Express创建HTTPS服务器,使用安全的Websocket和端口443。

我最近遇到一个问题,公司客户端的防火墙阻止了wss仅与WebRTC服务器的连接。用户浏览器中记录的错误为"ERR_CONNECTION_TIMED_OUT",这意味着用户从未通过Websocket连接。其他任何客户都没有出现这种情况。

Websocket连接在用户和主服务器之间正常工作,并且没有向他们的防火墙添加任何规则来使用我们的应用程序。

有人遇到过类似的事情吗?什么样的防火墙设置可能导致这种情况?这会是一个cors问题吗,因为服务器都在自己的子域上?

主服务器可能限制在端口443上发送的数据类型,该端口将使用SSL来保护传输的数据。

有关"众所周知的端口号"的信息,请参阅本页。

WebRTC音频数据可能需要在其自己的专用端口号上传输,该端口号已为此在主服务器上配置。

问题是主服务器WebSocket使用TCP,WebRTC服务器使用UDP,UDP默认被公司防火墙阻止。

WebRTC应该使用TCP作为备份,但我认为握手仍然需要UDP。