公网怎么连上 Hermes WebUI?一次请求走过的 4 道关
2026/9/9 15:36:47 网站建设 项目流程

公网怎么连上 Hermes WebUI?一次请求走过的 4 道关

【免费下载链接】hermes-webuiHermes WebUI: The best way to use Hermes Agent from the web or from your phone!项目地址: https://gitcode.com/GitHub_Trending/he/hermes-webui

你人在通勤的地铁上,服务器里的 Hermes Agent 还有一批任务没跑完。Hermes WebUI 让你随时从浏览器或手机直接操作它,可现在输入地址,页面只回你“连接超时”。卡点不在 Agent,而在远程访问链路:服务默认只监听本机回环地址 127.0.0.1,外网请求到不了门口。

先看清链路:一次外部请求要闯 4 道关

从你的设备到最终页面,请求的路径是:

  1. 起点:手机浏览器敲下https://203.0.113.1:8787(203.0.113.1 是路由器公网 IP)。
  2. 第一关:路由器把公网 8787 转给内网机器 192.168.1.100:8787。
  3. 第二关:服务器防火墙放行这条 8787/TCP。
  4. 第三关:Hermes WebUI 在 0.0.0.0:8787 上接住连接(默认只听 127.0.0.1,外网进不来)。
  5. 第四关:应用校验登录密码,HTTPS 让全程传输加密。

哪一关断了,页面就卡在哪。下面从最外一关往回,逐关改配置。

路由器端口映射三步做完:公网 8787 指向内网机器

端口转发就像总机转分机:外线打进 8787,路由器把它拨给真正坐机的 192.168.1.100。

  1. 登录路由器管理页,找到“端口转发”或“虚拟服务器”选项。
  2. 新建规则:外部端口 8787、协议选 TCP、内部目标 192.168.1.100:8787。协议必须是 TCP,WebUI 走的是 HTTP 通信。
  3. 保存后从外网设备访问http://203.0.113.1:8787。出现登录页或密码提示,这一关就通了。

这三步就是完整的端口转发配置,品牌型号不同,界面入口名称可能略有差异,原理都一样。

服务器防火墙:只给 8787 开一道窄门(访问控制)

路由器之外,系统防火墙是第二道闸门。规则保持最窄:

  • 入站只放行 8787/TCP 一条,其余端口保持关闭;
  • 来源限制在你常用的出口 IP 段,而不是对全网开放。

监听地址改 0.0.0.0:在 .env 里写两行

api/config.py 的网络配置段里,HOST读环境变量HERMES_WEBUI_HOST,缺省回退127.0.0.1PORTHERMES_WEBUI_PORT,缺省 8787。不用动源码,改环境变量即可。

把仓库根的模板 .env.example 复制为.env,写入:

HERMES_WEBUI_HOST=0.0.0.0 HERMES_WEBUI_PORT=8787

0.0.0.0表示对所有网络接口开放;端口沿用 8787,和路由器规则保持一致。重启服务(./start.sh./ctl.sh start)后生效。

密码登录加 HTTPS:把入口锁上 🔒

公开到公网之前,先把认证配上。两种方式任选其一:

  • 启动时带上环境变量:HERMES_WEBUI_PASSWORD=your-secret ./start.sh
  • 或在设置界面保存密码。api/config.py里的save_settings会把它散列为password_hash写回配置,之后每次登录都要验证。

再叠上 HTTPS 加密。证书从 Let's Encrypt 申请最省事,自签名只留给内网测试。拿到fullchain.pemprivkey.pem后,用两个环境变量指给服务:

HERMES_WEBUI_TLS_CERT=/path/to/fullchain.pem HERMES_WEBUI_TLS_KEY=/path/to/privkey.pem

HTTPS 相当于给每个信封加锁,路上被拆开也读不出内容。重启后地址从http://换成https://203.0.113.1:8787

一分钟自检:三条命令找出卡在哪一关

  1. 监听状态:ss -tuln | grep 8787(老系统用netstat -tuln | grep 8787)。期望看到0.0.0.0:8787;只看到127.0.0.1:8787,说明第三关没改上。
  2. 公网可达性:用在线端口检测工具扫 8787。不通就回路由器核对转发规则,重点看协议是不是 TCP。
  3. 服务日志:tail -f ~/.hermes/webui.log(ctl.sh 方式启动时写入)。证书路径写错、端口被占用都会记在这里。

配置速查表

配置项位置作用
HERMES_WEBUI_HOST.env或环境变量监听地址,0.0.0.0对所有接口开放
HERMES_WEBUI_PORT.env或环境变量监听端口,默认 8787,须与转发规则一致
端口转发规则路由器管理页公网8787/TCP192.168.1.100:8787
入站防火墙规则服务器系统防火墙只放行 8787/TCP,可限制来源 IP 段
HERMES_WEBUI_PASSWORD.env或设置界面登录密码,散列后以password_hash存储
HERMES_WEBUI_TLS_CERT/HERMES_WEBUI_TLS_KEY环境变量或.env启用 HTTPS,指向证书与私钥文件

不想把端口暴露到公网,可以改走 SSH 隧道或 Tailscale,仓库自带说明:docs/remote-access.md。

【免费下载链接】hermes-webuiHermes WebUI: The best way to use Hermes Agent from the web or from your phone!项目地址: https://gitcode.com/GitHub_Trending/he/hermes-webui

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询