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

感谢您的帮助/阅读

相关内容