Node.js websocket服务器似乎对此感到困惑&#c; ip

时间:2017-01-19 00:05:02

标签: javascript node.js apache websocket ip

  

注意:我已经开启和关闭防火墙测试了这个。   这是所有远程服务器到服务器代码(没有浏览器)。    我在centos7上使用ws

我在我的好网站上使用https.server的websocket(good.com,其IP是77.77.777.7).listen(8000,'good.com')并且成功地允许了good.com' s客户和bad.com的客户与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要求打开websocket到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')

然后good.com超时而bad.com的websocket连接但是,在我的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 localhost而不是66.66.666.6'。

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

我不认为这个问题与Why is Node.js app accessible only from 127.0.0.1/localhost?

有关

但我认为这与Cannot run my Node.Js app with my machine's IP address, but can with localhost

有关

1 个答案:

答案 0 :(得分:0)

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

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

我评论了SSLProtocol all -SSLv2 -SSLv3