WebSocket握手:意外的响应代码:200-React Client

时间:2019-11-15 11:46:28

标签: ssl networking https websocket

我正在尝试将我的React应用程序打开到互联网。该应用程序在localhost上运行良好。但是在我的Apache Web服务器上使用它时将不起作用。我正在运行Ubuntu 16.04。我已经转发了正在使用的端口,并且正在使用我的地址。这是我收到的来自浏览器控制台的错误

在localhost上,此地址工作正常,但是,当我更改要在我的Apache Web服务器上使用的地址和端口时,会出现此错误

使用该地址wss://www.example.io:4488/出现此错误:

WebSocket connection to 'wss://www.example.io:4488/' failed: Error in connection establishment: net::ERR_SSL_PROTOCOL_ERROR

经过一些研究后,我似乎需要使用已启用SSL的端口,但是是否可以启用端口443以外的SSL端口?

然后我尝试使用'ws'并收到此错误,

ws://www.example.io:4488/

无法构造“ WebSocket”:可能无法通过HTTPS加载的页面启动不安全的WebSocket连接。

1 个答案:

答案 0 :(得分:0)

“是否可以启用端口443以外的SSL端口?”

是的,与您的操作完全相同(wss://www.example.io:4488)...尽管使用非标准端口时,请确保没有防火墙默默地阻止连接(只需使用telnet进行确认,例如telnet www.example.io 4488

“然后我尝试使用'ws'并收到此错误,”

是的,期望的。通过HTTPS交付的网站不能具有不安全的WebSocket。

您的问题的可能原因是服务器SSL证书。当您的浏览器尝试打开websocket时,它将收到服务器SSL证书并尝试进行验证。如果无法验证,将不允许打开套接字。它通常不适用于自签名证书。

相关:

Firefox disconnects websockets connection for a self signed certificate

What is the problem with Websocket and Self-Signed SSL certificate

Why does my wss:// (WebSockets over SSL/TLS) connection immediately disconnect without giving any errors?