Javascript 通过https连接到不安全的WebSocket

Javascript 通过https连接到不安全的WebSocket,javascript,https,websocket,Javascript,Https,Websocket,我正在尝试建立与不安全WebSocket的连接 但是,我的页面是通过HTTPS加载的,这意味着浏览器不允许不安全的WS连接,而是需要安全的WSS连接 当通过HTTPS加载我的页面时,是否存在连接到不安全WebSocket的解决方法 JS代码很简单: <script> var wsUri = "ws://201.77.219.223/ws"; websocket = new WebSocket(wsUri); websocket.onopen = function(evt) { co

我正在尝试建立与不安全WebSocket的连接

但是,我的页面是通过HTTPS加载的,这意味着浏览器不允许不安全的WS连接,而是需要安全的WSS连接

当通过HTTPS加载我的页面时,是否存在连接到不安全WebSocket的解决方法

JS代码很简单:

<script>

var wsUri = "ws://201.77.219.223/ws";
websocket = new WebSocket(wsUri);
websocket.onopen = function(evt) {
console.log("Connected to Endpoint!");
};
websocket.onmessage = function(evt) {
console.log("Message Received: " + evt.data);
};
websocket.onerror = function(evt) {
console.log("ERROR: " + evt.data);
};
function doSend(message) {
console.log("Message Sent: " + message);
websocket.send(message);
}
doSend({
"module": "login",
"service": "authentication",
"parameters": {"login": "teste", "password": "123456"}
} );

</script>

var wsUri=“ws://201.77.219.223/ws”;
websocket=新的websocket(wsUri);
websocket.onopen=函数(evt){
log(“连接到端点!”);
};
websocket.onmessage=函数(evt){
控制台日志(“收到的消息:+evt.data”);
};
websocket.onerror=函数(evt){
console.log(“错误:+evt.data”);
};
函数doSend(消息){
console.log(“已发送消息:+消息”);
发送(消息);
}
多森德({
“模块”:“登录”,
“服务”:“身份验证”,
“参数”:{“登录”:“测试”,“密码”:“123456”}
} );

您已经回答了自己的问题:“浏览器不允许这样做”,因此没有解决办法。如果HTML页面是通过HTTPS提供的,那么它建立的任何WebSocket连接都必须仅使用WSS。Chrome过去有一个“允许来自https源的不安全WebSocket”选项,但这是几年前故意删除的。是否可以使用代理来更改此行为?我不是websocket的所有者,因此无法保护它。同时,我不能将我的网站降级到http。。您需要一个WebSocket代理,它可以接受安全的WSS连接并将它们转发到不安全的WS服务器。可能会有一些东西飘来飘去,或者你可能不得不写自己的来满足你的需要。