跳到主要内容

使用 ngrok 配置 HTTPS

为您的本地 Open WebUI 提供即时公共 HTTPS。零配置,零开放端口。

ngrok 可以在公共 URL 与您的本地机器之间创建一条安全的隧道。这是为开发、演示或测试需要安全上下文(如语音通话)的功能而让 HTTPS 快速运行起来的最快方式。

何时使用 ngrok

ngrok 是开发和测试的理想选择。对于生产环境部署,建议使用 NginxCaddy 等反向代理,或使用 Cloudflare Tunnel 获得零信任访问。


前提条件

要求细节
Open WebUI本地运行于端口 8080(默认)
ngrok 账号免费注册于 ngrok.com,提供稳定的授权 Token (authtoken)

1. 安装 ngrok

brew install ngrok

2. 身份验证

ngrok config add-authtoken YOUR_AUTH_TOKEN

dashboard.ngrok.com/get-started/your-authtoken 查找您的授权 Token。

3. 启动隧道

ngrok http 8080

ngrok 将输出一个公共 URL,形如:

Forwarding  https://a1b2-203-0-113-42.ngrok-free.app → http://localhost:8080

在浏览器中打开该 https:// URL 即可。设置完成。


配置 Open WebUI

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

docker run -d \
  -p 8080:8080 \
  -e WEBUI_URL=https://a1b2-203-0-113-42.ngrok-free.app \
  -v open-webui:/app/backend/data \
  --name open-webui \
  ghcr.io/open-webui/open-webui:main
注意

ngrok 免费版 URL 在每次重启隧道时都会改变。请相应地更新 WEBUI_URL,或者使用(付费的)ngrok 自定义域名 获得一个固定的 URL。


自定义域名(可选)

使用付费的 ngrok 方案可以申请一个固定的子域名,使得您的 URL 永远不会改变:

ngrok http 8080 --url=your-name.ngrok-free.app

这给您提供了一个永久的 URL,您只需在 WEBUI_URL 中设置一次即可一劳永逸。


快速参考

操作/内容命令 / 数值
启动隧道ngrok http 8080
自定义域名ngrok http 8080 --url=your-name.ngrok-free.app
控制面板dashboard.ngrok.com
流量监控检查http://localhost:4040(ngrok 本地控制台)
设置 CORS 源CORS_ALLOW_ORIGIN=https://your-name.ngrok-free.app

局限性

关注点细节
免费版 URL 轮换每次重启隧道时 URL 都会改变,除非您使用自定义域名
过渡警告页面免费版在首次访问时会显示一个 ngrok 的过渡引导页
非生产环境设计ngrok 会增加网络延迟且存在单点故障风险;建议在生产环境使用反向代理或 Cloudflare Tunnel
速率限制免费版有连接速率限制;付费计划则移除了这些限制
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.