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 地址。
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 地址。