WebSocket-Sharp不响应公共IP地址

时间:2020-10-14 19:12:32

标签: http websocket websocket-sharp

我在公共Internet IP上托管WebSocket-Sharp时遇到问题。在本地它工作正常。 在Windows和Linux上会发生此问题。 我没有收到超时或HTTP状态代码,该页面立即被阻止。 我有99%的把握确定端口转发设置正确;我已经尝试过使用Android调制解调器,VPN和常规的NAT路由器设置。

我尝试了以下组合:

192.168.1.2:80 8080 5000 39393

0.0.0.0:....

公共IP:....

2 个答案:

答案 0 :(得分:0)

问题出在WebsScketSharp随附的HttpServer中。纯websocket变体(WebSocketServer.cs),而不是具有Get功能的HttpServer选项,具有将AllowForwardedRequest设置为true的选项,因此可以从非本地主机地址访问。 HttpServer类不支持此功能。 当我放弃常规的GET功能时,这部分是一种解决方案,但是我觉得很好。

答案 1 :(得分:-1)

好吧,假设您具有公开IP地址的服务器是Linux:

  1. 检查正在监听的端口和正在监听的程序
netstat -tulpn
  1. 在提供商和服务器中检查防火墙规则
sudo ufw status
  1. 查看是否已连接到服务器
sudo tcpdump

您可以过滤源IP的端口(如果使用的代理将是不同的IP)。

sudo tcpdump | grep "80\|123.45.67.89"

这是查看数据包是否进入服务器的唯一方法。

如果您认为使用Docker有点不同,请告诉我。

  1. 您可以创建一个隧道,然后尝试使用本地隧道
ssh -L 80:123.45.67.89:80 ubuntu@yourserver.com

欢呼