Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Eclipse Paho JavaScript客户端的SSL/TLS_Ssl_Nginx_Websocket_Mosquitto - Fatal编程技术网

使用Eclipse Paho JavaScript客户端的SSL/TLS

使用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 我可以看到应用程序正在尝试建立与

我有一个基于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