← 返回知识库 # 5号 服务器 · 开放端口清单 > 最后实测:2026-09-17 · 验证方式:从公网 IP 连接测试(refused=已放行无服务;timeout=被拦截) > 服务器:43.173.99.179(腾讯云,en.hunanningyuan.cloud) ## 一、公网可达且有服务(对外可用) | 端口 | 协议 | 服务 | 说明 | |:--|:--|:--|:--| | **22** | SSH | sshd | 登录入口;跳板账号 jump8(密码存 /root/.secrets/jump8-password) | | **80** | HTTP | nginx | noVNC 跳转、飞书回调、知识库 | | **443** | HTTPS | nginx | **主入口**——内部服务全走路径反代(见下表) | | **10087** | VMess | Xray | 代理入站(办公室电脑 VPN 用)UUID 存 Xray 配置 | | **18889** | HTTP | nginx | noVNC 桌面(认证 zhengjie/zhengjie) | | **18443** | TCP | 空闲(已放行) | **预留给 8号 SSH 跳板**(实测可达) | ## 二、443 路径反代(无需额外放行端口) | 路径 | 后端 | 服务 | |:--|:--|:--| | `/vision/` | 127.0.0.1:18885 | 图片识别 API(Gemini→Grok 降级) | | `/grok-chat/` | 127.0.0.1:18886 | Grok 对话 API(豆包接入用) | | `/mcp/` | 127.0.0.1:18887 | ant-infra MCP(市长邮箱/拓扑) | | `/mcp-kanban-mcp/` | 127.0.0.1:18894 | 看板 MCP | | `/public/topology/topology_data.json` | 静态 | 系统拓扑(公开) | | `/gen/` | 127.0.0.1:18644 | 8号 HTTP 服务(隧道,当前 000 待修) | ## 三、本地监听端口全表(0.0.0.0 绑定) ``` 22 80 443 3001 5100 5150 5198 5900 5901 6120 6901 8642 8645 8765 8888 8891 8892 8894 9527 10087 16901 17890 18788 18791 18792 18793 18885 18886 18887 18888 18889 18894 18895 18896 18900 18903 18904 18906 19090 19100 19191 19222 49134 51822 ``` ## 四、已放行但空闲的端口(备用) | 端口 | 状态 | 备注 | |:--|:--|:--| | 18443 | 已放行 + 公网可达 | 8号 SSH 跳板专用 | | 8080 | 已放行空闲 | 备用 | | 8123 | 已放行空闲 | 备用 | | 5300 | 已放行空闲 | 备用 | | 5200 | 已放行空闲 | 备用 | | 10703 | 已放行空闲 | 备用 | | 10086 | 已放行空闲 | ⚠️ 勿与 7号 代理 186.244.245.24:10086 混淆 | ## 五、被拦截 / 未放行 | 端口 | 状态 | |:--|:--| | 51820 | ⚠️ 超时(可能未放行或未监听) | | 18885-18897 系列 | 🔴 安全组未放行(走 443 路径访问) | | 9527 | 🔴 未放行(shot-api 容器) | ## 六、隧道/转发端口(外部设备建立) | 端口 | 绑定 | 来源 | 目标 | 状态 | |:--|:--|:--|:--|:--| | 18644 | 127.0.0.1 | 117.147.34.248(家宽带 root 会话) | 8号 HTTP 服务 | ✅ 通(返回 404) | | 8456 | 127.0.0.1 | Windows 本机 | 第二大脑知识库 API | 时断时续 | ## 七、重测方法 ```bash # 区分"已放行无服务"与"被拦截" python3 - <<'EOF' import asyncio HOST = "43.173.99.179" PORTS = [22,80,443,10087,18443,18889,8080,8123,5300,5200,10703,10086,51820] async def probe(p): try: r,w = await asyncio.wait_for(asyncio.open_connection(HOST,p), 3); w.close() return (p,"开放有服务") except ConnectionRefusedError: return (p,"已放行无服务") except asyncio.TimeoutError: return (p,"超时(可能拦截)") except Exception as e: return (p,type(e).__name__) async def main(): for p,s in sorted(await asyncio.gather(*[probe(p) for p in PORTS])): print(f"{p:<7}{s}") asyncio.run(main()) EOF ```