繁体   English   中英

Node.js Websocket服务器似乎对其ip感到困惑

[英]Node.js websocket server seems confused about it's ip

注意: 我已经在启用和禁用防火墙的情况下对此进行了测试。 这是所有远程服务器到服务器的代码(没有浏览器)。 我在centos7上使用ws

我在我的优质网站(good.com,其IP为77.77.777.7)上使用https.server websocket执行.listen(8000,'good.com')并成功允许good.com的客户和bad.com的客户与new ws(wss://good.com:8000)连接new ws(wss://good.com:8000)

在我的good.com服务器代码中,我得到了ips

77.77.777.7 connected
66.66.666.6 connected

在good.com的终端中输入

netstat ltn

tcp        0      0 77.77.777.7:8001      0.0.0.0:*               LISTEN

预计会发生!

但是,然后我的行为异常的网站(bad.com的IP为66.66.666.6)具有相同的代码。 bad.com会执行.listen(8000,'bad.com')而任何客户端都会执行new ws(wss://bad.com:8000)

在我的bad.com服务器代码中,我得到了ips

127.0.0.1 connected

...当good.com要求打开bad.com的网络套接字的请求超时时! 所以我在bad.com的终端中输入

netstat ltn

tcp        0      0 127.0.0.1:8001      0.0.0.0:*               LISTEN

如果我强制bad.com的监听为.listen(8000,'66.66.666.6')

然后good.com超时,而bad.com出现Error: connect ECONNREFUSED 127.0.0.1:8000


或者,如果我强制bad.com的监听为.listen(8000,'0.0.0.0')

然后,当bad.com的websocket连接时,good.com超时,但是,在我的bad.com服务器代码中,我得到了ips

127.0.0.1 connected

和坏的.coms netstat ltn显示

tcp        0      0 0.0.0.0:8001      0.0.0.0:*               LISTEN

最后,如果我收听时没有任何ip .listen(8000)那么good.com的客户端会超时,但是bad.com的客户端会以ip连接

::ffff:127.0.0.1 connected

和坏的.coms netstat ltn显示

tcp6       0      0 :::8001                 :::*                    LISTEN

我认为可能正在发生

在Apache中可能未正确配置的某件事告诉bad.com“您的名称是127.0.0.1本地主机,而不是66.66.666.6”。

或某种node.js设置文件(?)更喜欢在localhost而不是ip下运行应用程序。

我认为此问题与以下问题无关: 为什么只能从127.0.0.1/localhost访问Node.js应用程序?

但是我确实认为这与无法使用计算机的IP地址运行Node.Js应用程序有关,但是可以与本地主机一起运行

两个站点的正确代码是listen(8000,'0.0.0.0') 问题是在好站点上禁用了POODLE攻击,因此坏站点无法连接

在/etc/httpd/conf.d/ssl.conf中

SSLProtocol all -SSLv2 -SSLv3

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM