Websocket 不适用于 SSL

Websocket is not working with SSL

https://www.hi-todd.com/websocket/

我已经使用 MQTT 协议创建了一个演示,它在 HTTP 连接下运行良好。但是当我尝试将 HTTP 更改为 https 时出现连接错误。

我在 mosquitto.conf 文件中添加了证书路径。给大家分享一下 Mosquitto 配置路径。

# WebSockets over TLS/SSL
listener 8083
protocol websockets
cafile /etc/mosquitto/ca_certificates/ca.crt
certfile /etc/mosquitto/ca_certificates/hi-todd_com.crt
keyfile /etc/mosquitto/ca_certificates/hi-todd_com.p7b

我使用了下面的库代码。

https://www.cloudmqtt.com/docs-websocket.html

现在我们已经解决了所有其他问题。

您正在使用的证书的 CN 为 hi-todd.com,备用 CN 为

DNS:hi-todd.com, DNS:www.hi-todd.com

这意味着它只对那些主机有效。在您的 config.js 中,您通过 IP 地址引用主机,因此它与证书不匹配。这将导致浏览器以不安全为由拒绝连接。

要解决此问题,请config.js 使用主机名而不是 IP 地址。