[英]WebSocket-Sharp doesn't respond to public IP address
我在公共互联网 IP 上托管 WebSocket-Sharp 时遇到问题。 在本地它工作正常。 此问题发生在 Windows 和 Linux 上。 我没有收到超时或 HTTP 状态代码,页面立即阻塞。 我 99% 确定我正确设置了端口转发; 我尝试过使用 Android 调制解调器、VPN 和常规 NAT 路由器设置。
我尝试了以下组合:
192.168.1.2:80 8080 5000 39393
0.0.0.0: ....
公网IP:....
问题在于 WebsScketSharp 提供的 HttpServer。 纯 websocket 变体 (WebSocketServer.cs),而不是具有 Get 功能的 HttpServer 选项,具有将 AllowForwardedRequest 设置为 true 的选项,因此可以从非本地主机地址访问。 HttpServer 类不支持这一点。 这部分是一个解决方案,因为我放弃了常规的 GET 功能,但这对我来说很好。
好的,假设您的具有公共 IP 地址的服务器是 Linux:
netstat -tulpn
sudo ufw status
sudo tcpdump
您可以过滤源 Ip 的端口(如果您使用不同 Ip 的代理)。
sudo tcpdump | grep "80\|123.45.67.89"
这是查看数据包是否进入服务器的唯一方法。
如果您认为 Docker 工作有点不同,请告诉我。
ssh -L 80:123.45.67.89:80 ubuntu@yourserver.com
干杯
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.