测试客户端是否可以使用端口80,443,843连接到WebSockets

时间:2014-03-30 14:14:23

标签: node.js websocket firewall

我正在节点服务器上运行WebSockets应用程序。一切正常,除了我的应用程序在学校使用,他们的一些防火墙显然阻止端口80上的WebSockets。我读到像843这样的端口通常是未阻塞的,但我想在进行任何切换之前测试它。

如何测试打开的WebSockets端口?例如尝试端口80,443& 843从客户端报告哪些工作?任何教程或代码片段都会很棒......

1 个答案:

答案 0 :(得分:3)

我一直在使用http://websocketstest.com/来阻止我的socket.io websockets。我刚刚遇到一个场景,其中一个客户端有防火墙阻止端口80上的流量。而不是坚持他们跳过箍我现在在443上听,没有必要在该端口上使用SSL为此目的。

在nginx中,我首先将所有流量重定向到socket.test.com端口80到端口443:

server {
    listen              80;
    server_name             socket.test.com;
    rewrite             ^ http://test.com:443$request_uri?;
 }

然后

server {
    listen 443;
    server_name  socket.test.com

    location / {
        proxy_pass http://127.0.0.1:3004;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
    }
}

在端口3004上,socket.io服务器正在接受连接。作品!

2018年更新:感谢letsencrypt.com现在微不足道地添加https证书所以这一切都可以通过加密443来完成