通过https连接的Socket.io节点版本SSL问题

问题描述

我尝试使用SSL在本地运行socket.io服务器。首先,我生成自签名SSL:

a = [1,2] ++ tail (scanl1 (+) a)

其中localpage.local是我使用socket.io客户端的页面。我将此证书添加到了Apache。并且这可行(我必须通过将证书添加到我的系统中来绕过证书验证-并且https可以正常工作)。

接下来,我尝试为NODE Socket.io生成ssl-因为我为ssl服务器使用127.0.0.1:3334,我尝试为localhost生成,但是-当我尝试连接时,我看到消息:

openssl req -x509 -newkey rsa:4096 -sha256 -days 3650 -nodes \
-keyout localpage.key -out localpage.crt -extensions san -config \
<(echo "[req]";
echo distinguished_name=req;
echo "[san]";
echo subjectAltName=DNS:localpage.local,IP:127.0.0.1
) \
-subj "/CN=localpage.local"

我的客户:

[Error] Failed to load resource: This server's certificate is invalid. You may be connecting to a server claiming to be "localhost",which Could put your sensitive data at risk. (socket.io,line 0)

我的服务器:

var url = "localhost:" + ( window.location.protocol == "https:" ? "3334" : "3333" );
const socket = io( url,{
    "rejectUnauthorized": false
});

当我不使用https进行连接时,一切正常,但是我无法通过https连接。

我现在在这里住了一个星期。在我被写成RatchetPHP服务器之前(尝试proxypass没有任何成功,也尝试了自生成的ssl,接下来我尝试了PHP socket.io-相同的问题)。

我曾尝试更改端口,但无济于事。

请帮助我-如何运行!!

Ps。我也尝试在专用的网络服务器上运行此程序-但SSL也不起作用。我需要知道,我做错了。最后,当我运行此命令时,我可以购买签名的ssl-但它必须能正常工作!

谢谢您的帮助!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)