跳到主要内容

使用 Tailscale 配置 HTTPS

从您的私有网络中的任何地方安全地访问 Open WebUI。无需开放端口,无需配置证书,无需对公网暴露。

Tailscale 在您的设备之间创建加密的网状 VPN(称为“tailnet”)。每台设备都会获得一个稳定的主机名,例如 my-server.tail1234.ts.net,并且 Tailscale 可以自动为其预配受信任的 HTTPS 证书。您的 Open WebUI 实例将保持完全私密,仅允许 tailnet 上的设备进行访问。

何时使用 Tailscale

如果您希望跨设备进行私有、身份验证的访问,而不将 Open WebUI 暴露给公共互联网,Tailscale 是理想的选择。这非常适合个人搭建、小型团队,或者随时随地通过手机或笔记本电脑访问家里的服务器。

正在寻找完整指南?

本页专门介绍 HTTPS 设置。有关包含 SSO 身份验证、Docker Compose 边车 (sidecar) 设置等在内的完整 Tailscale 集成方案,请参阅 Tailscale 集成教程


前提条件

要求细节
Open WebUI本地运行于端口 8080(默认)
Tailscale 账号个人使用免费,注册于 tailscale.com
安装 Tailscale运行 Open WebUI 的服务器和任何客户端设备上均已安装

1. 安装 Tailscale

Mac App Store 下载,或者运行:

brew install tailscale

2. 连接服务器

在运行 Open WebUI 的机器上执行:

sudo tailscale up

您的机器将获得一个 tailnet 主机名,类似于 my-server.tail1234.ts.net。您可以通过以下命令查看:

tailscale status

3. 访问 Open WebUI

在同一 tailnet 下的任何设备上打开:

http://my-server.tail1234.ts.net:8080

此连接已经由 WireGuard 进行了端到端加密。对于需要 HTTPS 的浏览器功能(例如语音通话),请继续执行下一步骤。


使用 Tailscale 证书启用 HTTPS

Tailscale 可以为您的 tailnet 主机名自动预配受信任的 Let's Encrypt 证书。

1. 在管理控制台中启用 HTTPS

前往 Tailscale Admin → DNS 并启用 HTTPS Certificates

2. 生成证书

sudo tailscale cert my-server.tail1234.ts.net

这将在当前目录下创建两个文件:

  • my-server.tail1234.ts.net.crt(证书)
  • my-server.tail1234.ts.net.key(私钥)

3. 通过 HTTPS 提供 Open WebUI 服务

使用 tailscale serve 将 HTTPS 流量直接代理至 Open WebUI,无需任何额外的反向代理:

sudo tailscale serve https / http://localhost:8080

现在可以通过以下地址访问 Open WebUI:

https://my-server.tail1234.ts.net

无需指定端口号。Tailscale 会处理 TLS 终止并透传到本地的 Open WebUI。


配置 Open WebUI

设置 WEBUI_URL 以确保 OAuth 回调和内部链接可以正确解析:

docker run -d \
  -p 8080:8080 \
  -e WEBUI_URL=https://my-server.tail1234.ts.net \
  -v open-webui:/app/backend/data \
  --name open-webui \
  ghcr.io/open-webui/open-webui:main

Tailscale Funnel(可选的公共访问)

如果您想公开分享 Open WebUI(且客户端无需安装 Tailscale),Tailscale Funnel 可以将您的 tailscale serve 端点暴露给互联网:

sudo tailscale funnel https / http://localhost:8080

您的 Open WebUI 现已可通过带有有效 TLS 证书的 https://my-server.tail1234.ts.net 进行公开访问。Funnel 会通过 Tailscale 的基础设施路由流量,类似于 Cloudflare Tunnel。

注意

Funnel 会允许互联网上的任何人访问您的 Open WebUI。在启用它之前,请务必确保在 Open WebUI 中配置了身份验证。


快速参考

操作/内容命令 / 数值
连接至 tailnetsudo tailscale up
检查主机名tailscale status
通过 HTTPS 提供服务sudo tailscale serve https / http://localhost:8080
公共访问 (Funnel)sudo tailscale funnel https / http://localhost:8080
手动生成证书sudo tailscale cert my-server.tail1234.ts.net
管理控制台login.tailscale.com/admin
设置 CORS 源CORS_ALLOW_ORIGIN=https://my-server.tail1234.ts.net
This content is for informational purposes only and does not constitute a warranty, guarantee, or contractual commitment. Open WebUI is provided "as is." See your license for applicable terms.