这是我的问题。
我有一台虚拟机,在 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
感谢您的帮助/阅读