Apache 伺服器上從 Http 到 Https NodeJS Websockets

Apache 伺服器上從 Http 到 Https NodeJS Websockets

這是我的問題。

我有一個虛擬機,在Windows上,上面安裝了Apache伺服器(2.4)。

虛擬機器位於網路上,以便其他人可以直接存取它http://192.168.100.22(實際上)

首先,http 協議一切順利。

我已設定與該伺服器的 HTTPS 連線。 (實際上是本機網路上的自簽名憑證)

我安裝了一個nodeJs伺服器並監聽這台機器上的9001連接埠。這只是為了管理 websocket。

實際的問題是 HTTPS 已經不起作用了。

NodeServer的配置如下:

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
//...
http.listen(9001,function(){
    console.log('SERVER LISTENING');
});

在客戶端,這種連線一切正常:

var socket = io('ws://192.168.100.22:9001');

現在一切都在 https 協定上進行,此連線失敗。

我需要做什麼/更改才能使我的套接字連接使用 https 協定?我嘗試將其更改為 wss:// 而不是 ws,嘗試在節點伺服器中使用 require('https') 而不是 http,但還沒有任何效果...

我遇到的最後一個錯誤是:

Cross-origin request blocked

感謝您的幫助/閱讀

相關內容