最近到了项目要上线的日子,选则了用云服务器(公司用的阿里云)部署项目,用到了8000,4444,19032等端口. 结果发现其中4444端口上监听的websocket服务不能收到客户端的请求,同时在客户端测试出现了Connect timed out 错误. 防火墙,云服务器web防火墙检查后发现没有问题,程序也经过反复测试后也没有发现问题. 联系阿里云客服,客服也证实服务器上的4444端口确实无法ping通,说让我提交工单,结果提交后换了另一个客服又无法ping通4444端口了.
几番周折终于找到原因,竟然是应为本地 ISP 服务商屏蔽了许多"风险"端口,经脚本测试,其中包括4444. 修改端口为8001,问题消失.
所以以后部署项目时,一定要避免使用服务器屏蔽的端口,测试脚本在下面的链接里
https://gist.github.com/vfreex/32b7de2e36422dbee94454afc762305e
在此记录,希望广大网友不要继续踩坑
我这边被屏蔽的端口如下
42
80
135
136
137
138
139
443
539
901
1023
1025
1068
1434
2745
3127
3128
3129
3130
3332
3333
4444
5554
5800
5900
6129
6176
6667
6669
8080
8998
9437
9995
9996