当我尝试将Paho MQTT javacrript与Mosquito MQTT websockets一起使用时,只要我用来为我的页面服务的Web服务器和Mosquito在同一服务器(同源)中,一切都有效。但是,如果我尝试连接到不同的Mosquito实例(跨域),Firefox会引发安全性错误。
问题是Javascript客户端启动到Mosquito Web套接字服务器的http连接,并且作为协商的一部分升级到ws://。如果最初的请求本身已经超过了ws://,则SOP不会被踢进去。
我尝试从http://mitsuruog.github.io/what-mqtt/连接到第二台服务器,并且没有SOP错误就可以正常工作。所以,我知道服务器可以支持ws://。如何使用Paho实现完成这项工作?
有什么方法可以解决这个问题吗?
答案 0 :(得分:0)
问题是我试图启动一个不安全的(ws:// instrad of wss://),而页面本身是通过https://加载的。这会导致Firefox未明确报告混合内容错误。 Chrome会打印出更好的警告,并允许暂时绕过它。