javascript - 如何通过 paho mqqt js 客户端强制非安全连接?
问题描述
当浏览器尝试在 Firefox 中连接到我的 mosquitto 服务器时,我在登台但在开发中没有收到此错误:
SecurityError:操作不安全。
我没有使用 ssl 运行系统,我知道我应该解决这个问题,但暂时我想让它工作。
function mqtt() {
// Create a client instance
client = new Paho.MQTT.Client('localhost', 9091, "", "tablet_1");
// set callback handlers
client.onConnectionLost = onConnectionLost;
client.onMessageArrived = onMessageArrived;
client.reconnect = true
willMessage = new Paho.MQTT.Message("Rescue me");
connectOptions = {
userName: 'server',
password: '1234',
// willMessage: willMessage,
onSuccess:onConnect,
cleanSession: true,
reconnect: true,
useSSL: false
}
// connect the client
client.connect(connectOptions);
}
这是我在 mosquitto 中的端口配置:
listener 1883
listener 8883
cafile ca.crt
certfile server.crt
keyfile server.key
tls_version tlsv1.2
listener 9091
protocol websockets
解决方案
正如评论中所讨论的那样,当主机页面通过 https 加载时,这是浏览器阻止不安全的内容。
您可以通过单击 URL 栏中的盾牌来强制混合内容,但这不是正确的方法。
正确的解决方案是在任何地方运行 HTTPS/TLS(甚至在 dev/staging 中)。
推荐阅读
- python - 服务器 python 安装 - 本地或系统范围
- ansible - 如何确认ansible任务不在运行列表中的原因
- excel - 合并来自不同工作簿的同名工作表
- javascript - 函数之间的冲突,api没有命中
- sql - PostgreSQL:从多列中为整个表选择最大数值
- powershell - 如何使用 PowerShell 将远程服务器上的文件移动到同一远程服务器上的另一个位置
- c# - 使 MarkupExtension 与热重载 (Xamarin) 一起工作
- php - 以 root 身份运行 Laravel Envoy
- google-sheets - 如何在谷歌表中显示天数列表,包括没有任何记录活动的天数?
- c# - 由于星期几不正确,字符串未被识别为有效的日期时间