Web 界面启动服务器与端口配置 · 局域网 HTTP 服务器详解
所有可配置项
在 设置 → Web 访问 页面,你会看到以下配置:
端口
- 默认值:8080
- 允许范围:1024 ~ 65535
- 服务器运行时无法更改(必须先停止再改)
- 更改后保存,重新启动时生效
仅本机访问
- 默认:关闭
- 开启后 → 服务器只绑定
127.0.0.1,只能从手机自身访问 - 关闭后 → 服务器绑定所有网络接口,同一 Wi-Fi 下其他设备可以访问
- 服务器运行时无法更改
访问密码
- 空字段 → 不启用 JWT 认证(任何人都能访问)
- 填写密码 → 启用密码保护
- 清空密码会自动禁用 JWT 认证
启用 JWT 认证
- 只有访问密码非空时才可用
- 开启后,首次浏览器访问会弹出密码输入框
- 验证成功后浏览器存储 JWT 令牌,令牌过期前无需再次输入
- 令牌会自动刷新或过期(取决于 JWT 配置)
启动时需要的权限
通知权限(必选)
Android 要求持久前台服务必须有持久通知。RikkaHub 会:
- 启动一个前台通知,保持服务器在后台运行
- 通知显示"RikkaHub Web 服务器运行中"
- Android 13+ 可能弹出通知权限请求 → 允许
Android 15+ 本地网络权限
Android 15 引入了新的权限——应用在局域网内运行 HTTP 服务器需要本地网络权限。首次启动时会弹出请求 → 允许。
不允许这个权限 → 服务器能启动但局域网地址不可用(只能本机访问)。
电池优化白名单
某些 Android 厂商(小米、华为、OPPO 等)的省电策略会杀死后台进程。如果 RikkaHub Web 服务器经常被意外停止:
- 把 RikkaHub 加入电池优化白名单
- 设置路径因厂商而异:通常在 "设置 → 应用 → RikkaHub → 电池 → 无限制"
服务器启动后的表现
前台 vs 后台
启动 Web 服务器后:
- RikkaHub 进程进入前台服务模式
- 一个持久通知显示在通知栏("RikkaHub Web 服务器运行中")
- 即使你切到其他 app,服务器继续运行
- 关闭通知栏的持久通知 → 服务器同时停止
服务器地址的自动发现
启动成功后,Web 访问页面会立即显示所有可用地址:
- 局域网 IP(如
http://192.168.1.42:8080) - mDNS 名称(如
http://xiaomi-14.local:8080) - 本机回环(
http://localhost:8080)
其中 mDNS 地址是动态生成的,格式通常是 设备名.local。
端口被占用
如果端口号已被其他应用占用:
- 启动会失败,提示"端口 XXX 已被占用"
- 解决方法:换一个端口号(在 1024-65535 范围内任选)
- 常见冲突端口:8080(开发服务器常用)、3000(Node 开发)、5000(Python Flask)
启动常见失败原因
"端口已被占用"
换个端口重试。8080 被占用时可以试试 8081、8888、9000 等。
"权限被拒绝"
Android 15+ 可能拒绝绑定某些端口。换一个非特权端口(1024+)。
"本地网络权限未授予"
Android 15+ 设备:去系统设置 → 应用 → RikkaHub → 权限 → 本地网络 → 允许,然后重启 RikkaHub 再试。
服务器启动成功但马上被系统杀死
后台进程被系统回收。解决方法:
- 把 RikkaHub 加入电池优化白名单
- 不要用 Android 近期任务里的"全部清除"
- 某些厂商(小米、华为、OPPO)的系统设置里有"后台保留"选项 → 开启
IPv6 考虑
RikkaHub Web 服务器是否支持 IPv6 取决于设备和 Android 版本。大多数家庭网络仍然主要用 IPv4。如果你在纯 IPv6 网络下访问不了,可能需要:
- 确认路由器有 IPv6 支持
- 或者暂时回退到手机浏览器访问