【问题标题】:WebSocket connection to failed ERR_SSL_PROTOCOL_ERRORWebSocket 连接失败 ERR_SSL_PROTOCOL_ERROR
【发布时间】:2016-04-20 06:44:01
【问题描述】:

我已经在我的实时服务器上配置了 Websocket,并且我正在实时服务器上使用 SSL。当我在本地主机上使用以下代码时,websockets 很好。

ws://localhost:8080/server.php

将文件移动到实时服务器后,我已将代码更改为以下内容

wss://IP:PORT/server.php

我为 Web 套接字创建了一个单独的端口,并在防火墙 TCP IN 和 OUT 上进行了配置。但是,我在控制台上收到以下错误

WebSocket 连接到......失败:连接建立错误:net::ERR_SSL_PROTOCOL_ERROR

谁能给我一些解决这个问题的方法

【问题讨论】:

  • 如果您只是将设置移动到实时服务器,它不会自动启用 SSL(即 wss:// 与 ws://)。是什么让您认为 wss:// 应该有效?
  • @SteffenUllrich 这是我第一次尝试 Websocket。我对WS不太熟悉。这就是为什么在这里寻求帮助

标签: ssl websocket


【解决方案1】:

这就是我所做的,我永远无法在本地安装 ssl,所以我开始使用 w3cwebsocket 客户端

https://www.npmjs.com/package/websocket

并在控制台中使用

进行测试
 node index.js

var W3CWebSocket = require('websocket').w3cwebsocket;变客户端= 新的 W3CWebSocket('wss://127.0.0.1:7000/'); console.log(客户端)

【讨论】:

    【解决方案2】:

    基本上,当您使用wss 时,您只是在为WebWocket 服务而不是SSL/TLS

    同时使用简单的ws 不需要特定设置,wss 需要。实际上,您必须在打开通信时使用有效的 SSL 证书 创建安全连接。

    如果您的证书是missinginvalid,则无法建立连接,因此在尝试开始通信时会出现错误。

    所以你不能只是从ws切换到wss,还必须做出正确的实现。

    你可以找到more details here,希望对你有帮助!

    【讨论】:

      猜你喜欢
      • 2022-06-30
      • 2018-12-19
      • 1970-01-01
      • 2022-10-17
      • 2013-12-17
      • 2016-05-13
      • 2015-04-08
      • 1970-01-01
      相关资源
      最近更新 更多