Skip to main content

反向代理与自定义域名

Avibe 的 Web UI 监听在 127.0.0.1:5123。从别处访问它,最简单的方式是 avibe.bot 隧道。如果你想用自己的反向代理、挂在自定义域名上——比如 nginx 挂 https://avibe.example.com——用下面两个设置,把你的代理和它对外的域名声明为可信即可。

配置

在运行 vibe 服务的环境里(shell 配置、服务管理单元或容器环境)设置这两个环境变量,然后重启 Avibe:
两个必须一起设——只设代理 IP,自定义域名仍然打不开。(也可以在配置文件里用 ui.trusted_public_origins 列表设置。) 然后让 nginx 把浏览器的 host 和 scheme 透传进来:
若你用的是非标准对外端口,还要透传 proxy_set_header X-Forwarded-Port $server_port;,并在声明的 origin 里带上该端口。

认证由你负责

这种模式把你代理的请求当作本地处理,不会附加 Avibe 登录。请在代理前面做好你自己的认证(nginx basic auth、Authelia、SSO 代理……),或把它限制在私有网络里(仅 VPN / 局域网可达)。不要在没有自建认证的情况下,把声明的域名暴露到公网。

与 avibe.bot 隧道共存

如果你同时开着隧道,你的代理必须通过一个非回环地址访问 Avibe。隧道启用时,回环(127.0.0.1)代理会被拒绝——这样经隧道进来的请求就无法冒充你的自定义域名。把 Avibe 绑到一个局域网或网桥地址,让 nginx 指向它,并把 VIBE_UI_TRUSTED_PROXY_IPS 设为该地址(而非 127.0.0.1)。或者两者只开其一。

排查

在你的自定义域名上打开 Web UI。如果页面返回 503,或某个变更操作返回 403:
  • 确认两个变量都已设置,且 VIBE_UI_TRUSTED_PUBLIC_ORIGINS 与浏览器里的 origin 完全一致——含 scheme、不带路径,以及任何非默认端口;
  • 确认代理的真实来源 IP 就是 VIBE_UI_TRUSTED_PROXY_IPS 里填的那个;
  • 确认 nginx 透传了 HostX-Forwarded-HostX-Forwarded-Proto,并在设完变量后重启了 Avibe;
  • 如果你同时开着隧道、且代理走回环,那个组合是被设计性拒绝的——见上文。
服务日志会标出被忽略或未生效的配置项。