文档
端口转发
端口转发把运行在服务器本机的 HTTP 服务 —— 开发服务器、设备管理页,任何监听在 http://localhost:端口 上的页面 —— 发布到一个独立的 TLS 端口上,凡是能访问这台服务器的设备,都可以在浏览器中通过 https://<服务器地址>:<端口>/ 打开它。
工作原理
- 每条转发把一个目标端口(本机上的 HTTP 服务)映射到一个从配置的端口范围(默认
62000–62999)中分配的转发端口; - 转发端口使用 TLS:所有通讯都用服务器的自签名证书加密 —— 即使在不受信任的网络上也没有任何明文传输;
- 凡是能访问服务器的设备 —— 局域网内,或在路由器上转发该端口范围后来自互联网 —— 打开
https://<服务器地址>:<转发端口>/即可访问本机服务。
转发按需创建:在远程(中继)服务器上使用「以 HTTP 服务器托管」文件分享时,客户端会自动申请一条转发并给出可直接打开的 URL,无需手动配置。
管理转发
- 打开服务器 Web 界面的
端口转发设置页。 端口范围配置界定了转发端口的分配池,修改会自动保存。当防火墙或路由器只转发少量端口时,可以收窄该范围。- 生效列表以
:转发端口 → :目标端口的形式显示每条转发及其活跃连接数。 - 点击某条转发的停止按钮会立即拆除监听并断开其活跃连接;下次分享会重新分配端口。
刷新重新读取列表。
证书警告
转发使用服务器自身的自签名证书加密 —— 与保护 Web 界面和客户端连接的是同一张证书。浏览器无法通过证书颁发机构验证它,因此首次访问转发 URL 时会弹出隐私警告(您的连接不是私密连接)。这个警告符合预期,点击继续是安全的:加密本身没有问题,只是证书的来源无法被机器验证。若想永久消除警告,可将服务器证书导入设备的信任存储。
macOS 上 Chrome 显示 ERR_ADDRESS_UNREACHABLE
在 macOS 15(Sequoia)及更高版本上,第三方应用需要获得明确授权才能访问局域网设备 —— 任何 192.168.x.x、10.x.x.x 之类的地址。Safari 作为系统应用不受此限制,因此转发 URL 在 Safari 中可以正常打开,而 Chrome 却在 TLS 握手开始前就报 ERR_ADDRESS_UNREACHABLE。这不是证书问题,也不是转发本身的问题。
授予 Chrome 访问权限的方法:
- 打开
系统设置→隐私与安全性→本地网络。 - 在列表中找到
Google Chrome并开启。 - 完全退出 Chrome(
Cmd+Q,而不是仅关闭窗口)后重新启动。
如果开关已经是开启状态,请先关闭再重新打开 —— 在 Chrome 或 macOS 更新后该开关可能会卡住失效。如果错误仍然存在,请检查 Chrome 中是否存在不路由私有网段的 VPN 或代理扩展。
访问控制
转发端口前的防护取决于背后转发的是什么:
-
内置分享需要令牌。 客户端生成的分享链接 —— 「以 HTTP 服务器托管」的分享(
?share_token=…)和 Settings 页面(?ticket=…)—— 都附带访问令牌;既无有效令牌也无有效会话的连接,在返回任何内容之前即被断开。首次打开时,令牌会兑换成仅对该服务生效的安全会话 Cookie,并从网址中移除,不会留在地址栏或历史记录里。 -
令牌为一次性且寿命很短。 Settings 的 ticket 只能使用一次,并在一分钟内过期;分享停止或重启后,原有链接和会话将全部失效。请把完整链接当作凭据 —— 持有它的人就能访问对应服务 —— 只发送给信任的人。
-
自有服务需自带身份验证。 转发到其他本机服务的端口只用服务器自签名证书加密流量,不额外添加身份验证:能访问该端口的人,就能访问该服务提供的页面和 API。暴露敏感服务前,请先为其配置身份验证。