跳到主要内容

配置 SSL 证书 (Configure SSL certificates)

为通过 Docker 部署的 RAGFlow 实例配置 SSL 证书。


本指南详细介绍了如何为通过 Docker 部署的 RAGFlow 实例配置 SSL 证书,并以容器名称 docker-ragflow-cpu-1 为例进行说明。

1. 准备证书文件

确保您已准备好 Nginx 格式的证书文件:

  • 公钥:通常命名为 fullchain.pemserver.crt
  • 私钥:通常命名为 privkey.pemserver.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 配置:

  1. 进入配置目录:cd /etc/nginx/conf.d/
  2. 备份原始配置:mv ragflow.conf ragflow.conf.bak
  3. 启用 HTTPS 模板:cp /etc/nginx/ragflow.https.conf ./ragflow.conf

6. 编辑 HTTPS 模板

  1. 打开配置文件:vi ragflow.conf
  2. 确保 ssl_certificatessl_certificate_key 路径指向您在 /etc/nginx/ssl/ 中的文件。
  3. 验证 Nginx 语法:nginx -t

7. 应用配置

重新加载 Nginx 以应用更改:

nginx -s reload

如果更改未生效,请退出容器并重启容器:

exit
docker restart docker-ragflow-cpu-1

配置持久化

重要

如果容器被删除或通过 docker compose down 停止,通过 docker cpdocker exec 所做的更改将会丢失。 建议:在测试成功后,将证书存储在宿主机上,并在您的 docker-compose.yaml 中使用 volumes 来永久挂载证书和 ragflow.conf