像往常一样,新项目在新服务器直接布了一份emqttd,然后什么都没管,端口默认的ws 8083,wss8084,mqtt 1883,mqtt(ssl) 8883。
结果跑起来之后点了点发现出了问题,前端的websocket根本连不上,Chrome报错
WebSocket connection to 'wss://10.0.0.111:8084/mqtt' failed: Error in connection establishment: net::ERR_INSECURE_RESPONSE
这意思就是连不上啊,但是为什么连不上呢,看了看启动日志里面8084端口也是打开监听了的呀,想了想,tomcat需要配置证书,mqtt是不是也需要配置,然后又各种百度,结果发现人家的文档里就写的有
果然这就是没细看文档的锅,然后就赶紧改配置文件,把证书文件放进去。结果弄了一大顿还是不行,这时候我的心里是崩溃的,因为百度出来的东西除了怎么安装emqttd之外,没别了的。好吧,那就谷歌
果然谷歌还是靠谱的~
问题原因在于证书只对域名有效,而不是IP。改成域名一测,立马成功
还有一个小提示,在windows环境下安装的emqttd,他的config文件不要用记事本打开,如果用记事本打开进行修改的话,运行emqttd console会报错,但是用写字板打开没问题,我感觉是编码的事儿,但是懒得深究了。
在新服务器上部署emqttd时,遇到前端WebSocket无法通过WSS连接的问题,错误提示表明连接失败。检查启动日志显示8084端口监听正常。意识到可能需要配置SSL证书,查阅文档后添加证书但仍无法连接。经过谷歌搜索,发现问题在于证书仅对域名有效而非IP。更换为域名连接后问题解决。此外,Windows环境下用记事本修改emqttd配置文件会导致运行错误,建议使用写字板或其他编码兼容工具。

被折叠的 条评论
为什么被折叠?



