跳到主要内容
警告

本教程由社区贡献,不获得 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

OpenWebUI

我建议先为 Open WebUI 项目创建一个目录

mkdir -p ~/open-webui
cd ~/open-webui

安装 OpenWebUI

~/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 证书,使其成为通过 HTTPS 提供 Open WebUI 服务的绝佳选择。

安装 Caddy

按照在 Ubuntu 上设置 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 来测试 Open WebUI 是否可以通过 HTTPS 访问。

cd ~/open-webui
docker compose up -d

现在您应该可以通过 https://your-domain.com 访问 Open WebUI 了。

更新 Open WebUI

我想简要说明如何更新 Open WebUI 而不丢失数据。由于我们使用卷来存储数据,您可以直接拉取最新镜像并重启容器。

停止 Open WebUI

首先,我们需要停止并移除现有容器

docker rm -f open-webui

拉取最新镜像

然后您可以再次启动容器

docker pull ghcr.io/open-webui/open-webui:main

启动 Open WebUI

现在您可以再次启动 Open WebUI 容器

docker compose up -d