Skip to main content

使用 Caddy 配置 HTTPS

warning

本教程为社区贡献,不属于 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 在 Ubuntu 上的安装指南

配置 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