Http WebSocket Sharp不';不响应公共IP地址

Http WebSocket Sharp不';不响应公共IP地址,http,websocket,websocket-sharp,Http,Websocket,Websocket Sharp,我在公共互联网IP上托管WebSocket Sharp时遇到问题。在本地,它运行良好。 这个问题发生在Windows和Linux上。 如果我没有收到超时或HTTP状态码,页面会立即阻塞。 我99%确信我已经正确设置了端口转发;我尝试过Android调制解调器、VPN和常规NAT路由器设置 我尝试了以下组合: 192.168.1.2:80 8080 5000 39393 0.0.0.0: 公共IP:…好,假设您的带有公共IP地址的服务器是Linux: 检查正在侦听的端口以及这些端口中侦听的程序 在

我在公共互联网IP上托管WebSocket Sharp时遇到问题。在本地,它运行良好。 这个问题发生在Windows和Linux上。 如果我没有收到超时或HTTP状态码,页面会立即阻塞。 我99%确信我已经正确设置了端口转发;我尝试过Android调制解调器、VPN和常规NAT路由器设置

我尝试了以下组合:

192.168.1.2:80 8080 5000 39393

0.0.0.0:


公共IP:…

好,假设您的带有公共IP地址的服务器是Linux:

  • 检查正在侦听的端口以及这些端口中侦听的程序
  • 在提供程序和服务器中检查防火墙规则
  • 查看是否连接到服务器
  • 您可以筛选源Ip的端口(如果您使用的代理将是不同的Ip)

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

    如果你使用Docker,让我知道你认为它的工作有点不同

  • 您可以创建一个隧道,并尝试像如果它是本地的

  • 干杯

    好的,假设您的带有公共Ip地址的服务器是Linux:

  • 检查正在侦听的端口以及这些端口中侦听的程序
  • 在提供程序和服务器中检查防火墙规则
  • 查看是否连接到服务器
  • 您可以筛选源Ip的端口(如果您使用的代理将是不同的Ip)

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

    如果你使用Docker,让我知道你认为它的工作有点不同

  • 您可以创建一个隧道,并尝试像如果它是本地的

  • 干杯

    问题出在WebSCketSharp提供的HttpServer上。纯websocket变量(WebSocketServer.cs)代替了具有Get功能的HttpServer选项,它有一个将AllowForwardedRequest设置为true的选项,因此可以从非本地主机地址访问。HttpServer类不支持此操作。
    这在一定程度上是一个解决方案,因为我放弃了常规的GET功能,但这对我来说没什么。

    问题在于webscketsharp提供的HttpServer。纯websocket变量(WebSocketServer.cs)代替了具有Get功能的HttpServer选项,它有一个将AllowForwardedRequest设置为true的选项,因此可以从非本地主机地址访问。HttpServer类不支持此操作。
    这部分是一个解决方案,因为我放弃了常规的GET功能,但这对我来说很好。

    明天有资格获得奖金,但我今天为您付款问题持续存在这可能有用请确保端口10000%打开!使用联机端口检查器查看它们是否打开@RobotRock:F12调试器在浏览器中的输出是什么?您是在本地计算机上还是在服务器上进行测试?你有防火墙吗?通过使用netcat等进行监听,再次检查端口的可访问性。明天有资格获得奖金,但我会在今天为您付款问题尚未解决这可能有用请确保端口10000%打开!使用联机端口检查器查看它们是否打开@RobotRock:F12调试器在浏览器中的输出是什么?您是在本地计算机上还是在服务器上进行测试?你有防火墙吗?通过使用netcat等进行监听,再次检查端口可访问性。
    netstat -tulpn
    
    sudo ufw status
    
    sudo tcpdump
    
    sudo tcpdump | grep "80\|123.45.67.89"
    
    ssh -L 80:123.45.67.89:80 ubuntu@yourserver.com