You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WebSocket服务端/客户端仅局域网可用 公网IP无法连接如何解决

WebSocket服务外网访问故障排查方案
  • 首先校验服务端监听地址配置:不要绑定127.0.0.1/localhost,必须修改为绑定0.0.0.0才能接收所有网卡的流入请求,包括路由器转发过来的外网请求。Python websockets的正确启动示例如下:
import asyncio
import websockets

async def echo(websocket):
    async for message in websocket:
        await websocket.send(message)

async def main():
    # 0.0.0.0表示监听所有网卡,8765替换为你的实际服务端口
    async with websockets.serve(echo, "0.0.0.0", 8765):
        await asyncio.Future()

asyncio.run(main())
  • 核对路由器端口转发规则:确认外网端口和内网服务端口映射正确,内网IP指向运行服务设备的静态局域网IP(避免DHCP动态分配导致IP变动),TCP协议配置无误且规则已启用。
  • 排查防火墙及运营商限制:
    • 检查运行服务设备的系统防火墙,已放行对应TCP端口的入站请求
    • 避免使用80、443、8080等运营商常用封禁端口,可更换为10000以上的高位端口测试
  • 修正测试方式:家用路由器大多不支持NAT回环,不要在当前局域网内用自身外网IP测试连通性,需使用完全脱离局域网的设备(如手机开移动流量)测试。
  • 分层排查连通性:外网测试时先通过telnet 外网IP 端口或nc -zv 外网IP 端口验证TCP端口是否可达,端口连通后再排查WebSocket本身的逻辑问题。

内容的提问来源于stack exchange,提问作者John Jorgensen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 06:36:01