环境
- EMQX 版本:5.0.16
- 操作系统版本:centos+windows
重现此问题的步骤
- 配置了8084用openssl设置了证书,
- mqttx链接成功,java也连接成功
- vue连接失败,第一次握手失败,需要vue带着证书请求wss吗
需要vue携带证书请求吗?但是官方的broker是不用带证书的vue能连接上
1、我用官方给的vue2、3的demo连接的,还用了官方提供的websocket客户端连接的
2、链接自己的8084不行链接官方的brocker可以
3、java c++ 安卓都可以链接
4、链接的时候没有到emq第一次握手直接失败
5、证书是我按照官方文档openssl自签的、验过了证书没问题、和域名保持一致
您好,您使用 MQTT X 连接您自己服务的 wss 也是可以连接上的吗?
是的
我用客户端指导怎么打开,我用js怎么打开ssl,我把本地localhost改成https也不行,但是链接官方的brocker都可以
我就想知道官方的brocker怎么配置的,我链接官方提供的8084一直可以连接,都没问题
同样的情况,emqx使用self signed + ca.pem,已经成功连接,vue + mqtt.js无法连接成功。提示Certificate Unknown
这种只能自己机子上玩玩,最后还是得用nginx代理吧
nginx配置:
server {
listen 8084 ssl;
server_name localhost;
ssl_certificate /root/emqx-ssl/emqx.pem; #EMQX——TLS Cert
ssl_certificate_key /root/emqx-ssl/emqx.key; #EMQX——TLS Key
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
proxy_pass wss://*.*.*.105:8084/;
proxy_http_version 1.1;
proxy_read_timeout 3600s;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
}
是的,跟楼上一样。wss请求还是建议用nginx代理最方便,我们的项目也是nginx代理转发的
感谢!用你的 nginx 配置终于能用 mqtt.js 连上了 wss 了。