我在一个公共互联网IP上托管WebSocket有问题。在当地,它可以正常工作。此问题发生在Windows和Linux上。我不接收超时或HTTP状态代码,页面会立即阻塞。我99%确信我已经正确设置了端口转发;我尝试过使用Android调制解调器、VPN和常规NAT路由器设置。
我尝试了以下几种组合:
192.168.1.2:8080805000 39393
0.0.0.0:.
公众知识产权:.
发布于 2020-10-24 20:04:44
问题存在于HttpServer提供的WebsScketSharp中。纯websocket变体(WebSocketServer.cs),而不是具有Get功能的HttpServer选项,有一个将AllowForwardedRequest设置为true的选项,因此可以从非本地主机地址访问。HttpServer类不支持这一点。这部分是一个解决方案,因为我放弃了常规的GET功能,但这对我来说很好。
发布于 2020-10-23 19:00:42
好的,假设您的服务器具有公共Ip地址是Linux:
中侦听
netstat -tulpn中的防火墙规则
sudo ufw statussudo tcpdump您可以筛选原产Ip的端口(如果您使用的代理将是不同的Ip)。
sudo tcpdump | grep "80\|123.45.67.89"这是查看数据包是否进入服务器的唯一方法。
如果你认为工作方式有点不同的话,请告诉我。
ssh -L 80:123.45.67.89:80 ubuntu@yourserver.com干杯
https://stackoverflow.com/questions/64360058
复制相似问题