【问题标题】:WebSocket handshake: Unexpected response code: 200 - React ClientWebSocket 握手:意外的响应代码:200 - React 客户端
【发布时间】:2020-03-11 13:40:22
【问题描述】:

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

在本地主机上,这个地址工作得很好但是,当我更改地址和端口以在我的 apache 网络服务器上使用时,我得到这个错误

使用这个地址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 连接。

【问题讨论】:

    标签: ssl networking https websocket


    【解决方案1】:

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

    是的,就像您所做的一样(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?

    【讨论】:

      猜你喜欢
      • 2019-01-21
      • 1970-01-01
      • 2017-12-13
      • 2015-08-10
      • 1970-01-01
      • 2015-06-09
      • 1970-01-01
      • 2020-01-15
      • 1970-01-01
      相关资源
      最近更新 更多