ssl - WebSocket 握手 : Unexpected response code: 200 - React Client

标签 ssl networking https websocket

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

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

使用这个地址 wss://www.example.io:4488/ 我得到这个错误:

与“wss://www.example.io:4488/”的 WebSocket 连接失败:连接建立时出错:net::ERR_SSL_PROTOCOL_ERROR

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

然后我尝试使用“ws”并得到了这个错误,

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

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

最佳答案

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

是的,就像你做的那样(wss://www.example.io:4488)......虽然在使用非标准端口时,确保没有防火墙静默阻止连接(只需使用 telnet 确认,例如 telnet www.example.io 4488)

“然后我尝试使用‘ws’并遇到了这个错误,”

是的,意料之中。通过 HTTPS 传送的网站不能有不安全的 websockets。

问题的一个可能原因是服务器 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?

关于ssl - WebSocket 握手 : Unexpected response code: 200 - React Client,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58876395/

相关文章:

ssl - Nginx添加ssl证书后导致无限重定向循环

ssl - Azure 虚拟机中多个启用 SSL 的站点

.net - 将wsHttpBinding SSL传输安全性与消息安全性结合使用有什么好处?

java - OpenSSL 证书在 tomcat 8 中给出 'Invalid keystore format'

Android 检查互联网连接

c++ - 如何捕获浏览的url?

java - 查找以太网连接的网络适配器名称

security - HTTPS (HTTP + SSL) 中的查询字符串参数安全吗?

Wildfly Undertow 中的 HTTPS 重定向

PHP CURL 和 SSL 证书(或证书链)