使用 Caddy 配置 HTTPS
本教程为社区贡献,不属于 Open WebUI 官方团队的支持范围。它仅作为如何针对特定用例自定义 Open WebUI 的演示。想要贡献?请查看贡献教程。
使用 Caddy 配置 HTTPS
确保用户与 Open WebUI 之间的通信安全至关重要。HTTPS(超文本传输安全协议)对传输的数据进行加密,防止被窃听和篡改。通过将 Caddy 配置为反向代理,您可以无缝地为 Open WebUI 部署添加 HTTPS,从而增强安全性和可信度。
本指南提供了一个简单的演练,介绍如何在 Ubuntu 服务器上设置 Caddy 作为 Open WebUI 的反向代理,并实现自动证书管理下的 HTTPS。
我们将按照以下步骤完成设置:
Docker
请参考官方指南设置 Docker 的 apt 仓库:Docker
我已经包含了 docker-compose,因为运行 docker compose 需要它。
安装 Docker
以下是在 Ubuntu 上安装 Docker 的常用命令:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-compose
Open WebUI
首先为 Open WebUI 项目创建一个目录:
mkdir -p ~/open-webui
cd ~/open-webui
安装 Open WebUI
在 ~/open-webui 目录下创建一个 docker-compose.yml 文件。我在注释部分留下了一些为 Qdrant 设置环境变量的示例,您可以根据需要参考它来设置任何其他环境变量。
services:
open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: open-webui
ports:
- "8080:8080"
volumes:
- ./data:/app/backend/data
# environment:
# - "QDRANT_API_KEY=API_KEY_HERE"
# - "QDRANT_URI=https://example.com"
restart: unless-stopped
Caddy
Caddy 是一个功能强大的 Web 服务器,它可以为您自动管理 TLS 证书,是为 Open WebUI 提供 HTTPS 服务的一个极佳选择。
安装 Caddy
配置 Caddy
您需要修改 Caddyfile 以使用您的域名。
编辑 /etc/caddy/Caddyfile 文件:
sudo nano /etc/caddy/Caddyfile
然后将配置修改为以下内容:
your-domain.com {
reverse_proxy localhost:8080
}
请务必将 your-domain.com 替换为您实际的域名。
测试 HTTPS
假设您已经将 DNS 记录指向了服务器的 IP 地址,您现在可以通过在 ~/open-webui 目录中运行 docker compose up 来测试是否可以通过 HTTPS 访问 Open WebUI。
cd ~/open-webui
docker compose up -d
您现在应该可以通过 https://your-domain.com 访问 Open WebUI 了。
更新 Open WebUI
这里简要说明如何在不丢失数据的情况下更新 Open WebUI。由于我们使用数据卷 (volume) 来存储数据,您只需拉取最新镜像并重启容器即可。
停止 Open WebUI
首先,我们需要停止并移除现有容器:
docker rm -f open-webui
拉取最新镜像
然后您可以拉取最新的镜像:
docker pull ghcr.io/open-webui/open-webui:main
启动 Open WebUI
现在再次启动 Open WebUI 容器:
docker compose up -d