我有一个在 EC2 上运行的 emqx mqtt 代理,ssl 和 wss 配置如下所示 -
listener.ssl.external = 8883
listener.ssl.external.keyfile = /etc/emqx/certs/key.pem
listener.ssl.external.certfile = /etc/emqx/certs/cert.pem
listener.ssl.external.cacertfile = /etc/emqx/certs/cacert.pem
listener.ws.external = 8083
listener.wss.external = 8084
listener.wss.external.keyfile = /etc/emqx/certs/key.pem
listener.wss.external.certfile = /etc/emqx/certs/cert.pem
listener.wss.external.cacertfile = /etc/emqx/certs/cacert.pem
listener.wss.external.verify = verify_none
listener.wss.external.fail_if_no_peer_cert = false
当我尝试使用没有 ssl(ws://IP:8083/mqtt) 的 emqx 仪表板(托管在 http)连接到代理时,它工作正常但是当我使用 emqx 仪表板(托管在 https)和 ssl(wss:// IP:8084/mqtt),它没有连接。如何通过 wss 上的 https 连接代理?
编辑:我想要一种方式的身份验证。我将从 React Web 应用程序和 NodeJS 应用程序连接到代理。所以,我不想从客户端提供证书。我使用的证书是 EMQX 安装提供的证书。另外,我使用的是 EMQx 为 https ssl 提供的客户端证书。如果浏览器在没有任何警告的情况下打开 https,它也应该能够连接到 websocket。