配置 SSL 证书 (Configure SSL certificates)
为通过 Docker 部署的 RAGFlow 实例配置 SSL 证书。
本指南详细介绍了如何为通过 Docker 部署的 RAGFlow 实例配置 SSL 证书,并以容器名称 docker-ragflow-cpu-1 为例进行说明。
1. 准备证书文件
确保您已准备好 Nginx 格式的证书文件:
- 公钥:通常命名为
fullchain.pem或server.crt。 - 私钥:通常命名为
privkey.pem或server.key。
如有必要,请重命名您的文件以符合标准:
# 将证书包重命名为 fullchain.pem
cp XXXXX_bundle.pem fullchain.pem
# 将私钥重命名为 privkey.pem
cp XXXXX.key privkey.pem
2. 确认容器状态
验证您的容器是否正在运行:
docker ps
3. 将证书复制到容器中
将文件从宿主机传输到容器的临时目录中:
docker cp ./fullchain.pem docker-ragflow-cpu-1:/tmp/fullchain.pem
docker cp ./privkey.pem docker-ragflow-cpu-1:/tmp/privkey.pem
4. 在容器内部署证书
进入容器的交互式终端:
docker exec -it docker-ragflow-cpu-1 /bin/bash
进入容器后,移动文件并设置适当的权限:
mkdir -p /etc/nginx/ssl
mv /tmp/fullchain.pem /etc/nginx/ssl/
mv /tmp/privkey.pem /etc/nginx/ssl/
# 设置权限:公钥设为 644,私钥设为 600
chmod 644 /etc/nginx/ssl/fullchain.pem
chmod 600 /etc/nginx/ssl/privkey.pem
5. 将 Nginx 切换为 HTTPS 配置
用 HTTPS 模板替换默认的 HTTP 配置:
- 进入配置目录:
cd /etc/nginx/conf.d/。 - 备份原始配置:
mv ragflow.conf ragflow.conf.bak。 - 启用 HTTPS 模板:
cp /etc/nginx/ragflow.https.conf ./ragflow.conf。
6. 编辑 HTTPS 模板
- 打开配置文件:
vi ragflow.conf。 - 确保
ssl_certificate和ssl_certificate_key路径指向您在/etc/nginx/ssl/中的文件。 - 验证 Nginx 语法:
nginx -t。
7. 应用配置
重新加载 Nginx 以应用更改:
nginx -s reload
如果更改未生效,请退出容器并重启容器:
exit
docker restart docker-ragflow-cpu-1
配置持久化
重要
如果容器被删除或通过 docker compose down 停止,通过 docker cp 和 docker exec 所做的更改将会丢失。
建议:在测试成功后,将证书存储在宿主机上,并在您的 docker-compose.yaml 中使用 volumes 来永久挂载证书和 ragflow.conf。