KSWEB 80 端口必须 root 不建议长期绑定 用高位端口加穿透更稳
Android 的端口限制
Linux 上 1024 以下的端口叫"特权端口"——只有 root 用户能绑定。Android 继承了这个限制,但 KSWEB 本身是普通应用,没有 root 权限,所以:
- 默认绑定 8080 / 8000 / 9090 这类高位端口 → ✅ 直接跑
- 想绑定 80 / 443 端口 → ❌ 必须 root 手机
这是 Linux 内核级的限制,绕不开。
为什么要绑 80 / 443
绑 80 的好处是:用户访问站点时不用打端口,http://主机名/ 直接进。但代价是必须 root 手机。绑 443 同理,要上 HTTPS 必须绑 443。
日常使用的建议
别绑 80,用穿透工具反代——更稳、更安全、不用 root:
方案一:frp + VPS(最常用)
手机跑 KSWEB 监听 8080 → frpc 穿透到 VPS 的某个端口 → VPS 上 Nginx 做反代,把 80 / 443 的请求转给 frps 的穿透端口 → 外网访问 http://主机名/ 不用打端口,还能配 Let's Encrypt 免费 HTTPS。
方案二:Tailscale(自己访问)
Tailscale 组网后电脑和手机都有 100.x.x.x 的固定 IP,直接 http://手机IP:8080/ 访问就行,不走公网,速度快且加密。
方案三:ngrok(临时)
ngrok 免费版给一个 https://xxxx.ngrok.io 地址,自带 HTTPS,即开即用。
真的想绑 80 怎么办
如果你坚持要绑 80 端口:
- root 手机 — 用 Magisk 或其他 rooting 工具获取 root 权限。注意:大部分厂商保修政策里 root 后失去保修;某些国产系统(MIUI / ColorOS)root 流程极其复杂。
- KSWEB 开启 root 模式 — SETTINGS → Root Mode → 开启。开启后 KSWEB 能调用 root 权限绑定特权端口。
- 注意稳定性 — 一些国产系统 root 后系统更新会变困难,部分应用也会检测 root 而拒绝运行。
替代方案:非 root 情况下的"伪 80"
- Nginx 反代到 8080 — 如果手机上有 root 能跑 Nginx(不用 KSWEB 的 Nginx),让它绑 80 然后反代 KSWEB 的 8080。但这本质上还是需要 root。
- 穿透工具自带端口映射 — frps 本身可以绑 VPS 的 80 / 443,反代到穿透端口——这就是上面方案一的思路,手机不用 root,VPS 有 root 就够了。
结论
日常用高位端口 + 穿透就行,绑 80 是可选项,不是必选项。KSWEB 的官方文档也只在括号里提到"只有当你想把服务器绑定到 80 端口时才需要 root",没有把它当成推荐路径。对大多数用户来说,花几十块钱买个 VPS 跑 frp + Nginx 反代,比 root 自己的手机省心得多。