使用Eclipse Paho JavaScript客户端的SSL/TLS
我有一个基于JavaScript的WebApp,其中包括eclipsepaho客户端 WebApp在NGINX web服务器上存储和执行。 在安装Web服务器的同一台服务器上,MQTT代理MOSQUITO正在运行。我已经将端口8884定义为安全连接的侦听器端口 使用--cafile和-p8884运行mosquitto_sub(简单C客户机)很好 现在,我想通过在MQTT客户机实现中传递mqttOptions={useSSL:true}来使用SSL保护WebApp使用Eclipse Paho JavaScript客户端的SSL/TLS,ssl,nginx,websocket,mosquitto,Ssl,Nginx,Websocket,Mosquitto,我有一个基于JavaScript的WebApp,其中包括eclipsepaho客户端 WebApp在NGINX web服务器上存储和执行。 在安装Web服务器的同一台服务器上,MQTT代理MOSQUITO正在运行。我已经将端口8884定义为安全连接的侦听器端口 使用--cafile和-p8884运行mosquitto_sub(简单C客户机)很好 现在,我想通过在MQTT客户机实现中传递mqttOptions={useSSL:true}来使用SSL保护WebApp 我可以看到应用程序正在尝试建立与
我可以看到应用程序正在尝试建立与的连接wss://ip 而不是ws://ip。但是服务器响应拒绝连接,这是完全清楚的,因为我没有在Web服务器上配置任何东西,因为我不知道如何管理它。wss连接是否会“映射”到https或其他内容?在NGINX中是否需要websocket代理?提前感谢您的帮助。对于MOSQUITO,原始MQTT和WebSocket上的MQTT不能使用相同的端口,您需要创建两个单独的侦听器 您可以连接mosquitto_sub这一事实意味着您只使用原始MQTT设置了一个侦听器 e、 g
这将在8883上创建本机MQTT侦听器,并在端口8884上通过WebSocket创建MQTT。以下是MOSQUITO conf条目:
listener 8884 127.0.0.1
protocol websockets
cafile /path/to/ca.crt
certfile /path/to/certfile.crt
keyfile /path/to/keyfile.key
require_certificate false
因此,应用程序正在尝试连接到myip:8884抱歉,错误不是“连接被拒绝”,而是“WebSocket连接到”wss://ip“失败:WebSocket打开握手已取消”您正在尝试从同一台机器连接还是从另一台机器连接?您已将其绑定到127.0.0.1(localhost),因此从其他计算机连接的客户端将无法访问。(您也应该使用注释来回复答案,而不是新答案)但是websocket客户端(浏览器)不在同一台机器上?(如果需要,您可以编辑原始问题以添加澄清)啊好的websocket客户端在其他地方。。。我删除了绑定127.0.0.1,谢谢!但我想这不是我取消连接握手的原因。
listener 8884 127.0.0.1
protocol websockets
cafile /path/to/ca.crt
certfile /path/to/certfile.crt
keyfile /path/to/keyfile.key
require_certificate false