如何在私有化部署中配置 HTTPS 证书保护 RAG 服务?

文章导读
私有化部署 RAG 服务配置 HTTPS 最推荐通过反向代理(如 Nginx 或 Traefik)统一接管证书,适用于内部局域网或有限外网暴露场景,风险边界在于自签名证书需手动信任且需定期轮换。
📋 目录
  1. 命令速用版
  2. 为什么会这样
  3. 分步处理
  4. 怎么验证是否生效
  5. 常见坑
  6. 常见问题
A A

私有化部署 RAG 服务配置 HTTPS 最推荐通过反向代理(如 Nginx 或 Traefik)统一接管证书,适用于内部局域网或有限外网暴露场景,风险边界在于自签名证书需手动信任且需定期轮换。

先说结论:私有化 RAG 服务应优先通过反向代理层终止 TLS 连接,避免应用层重复配置。

  • 适合:内部知识库、企业局域网、有限公网暴露的 RAG 应用
  • 先准备:域名解析记录、OpenSSL 工具、反向代理软件
  • 验收:浏览器地址栏锁形图标、curl 命令返回 200 且协议为 TLS

命令速用版

生成自签名证书并配置 Nginx 的核心命令如下,适用于内网测试环境。

openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes

Nginx 配置片段:

server { listen 443 ssl; ssl_certificate /path/cert.pem; ssl_certificate_key /path/key.pem; }

为什么会这样

HTTPS 防止中间人窃听和篡改 RAG 交互中的敏感数据。

RAG 服务通常涉及企业文档、API Key 和用户查询,明文 HTTP 传输会导致凭证泄露。反向代理统一处理证书能降低应用代码修改成本,且便于集中管理 TLS 版本和加密套件。

如何在私有化部署中配置 HTTPS 证书保护 RAG 服务?

分步处理

按顺序执行证书生成、代理配置、服务重启和防火墙放行。

1. 生成证书:使用 OpenSSL 生成自签名证书或从 CA 申请正式证书,私钥权限设置为 600。

2. 配置反向代理:在 Nginx 或 Traefik 中指定证书路径,开启 SSL 监听端口 443。

3. 重启服务:重载反向代理配置,确保 RAG 后端服务端口(如 8000)仅监听本地回环地址。

4. 防火墙设置:放行 TCP 443 端口,限制非信任 IP 访问后端直连端口。

怎么验证是否生效

使用 curl 命令检查协议版本和状态码,确认连接加密。

如何在私有化部署中配置 HTTPS 证书保护 RAG 服务?
curl -kv https://your-rag-domain.com

观察输出中是否包含"SSL certificate verify ok"和"TLSv1.2"或"TLSv1.3"字样,浏览器访问应显示安全锁标志。

常见坑

自签名证书在客户端不受信任,需手动导入根证书。

  • 证书过期:设置日历提醒或使用 ACME 自动续期工具
  • 端口冲突:确保 443 端口未被其他服务占用
  • 混合内容:RAG 前端页面内引用的资源必须也是 HTTPS,否则浏览器报错

常见问题

内网部署必须买 CA 证书吗?

不一定,内网可使用自签名证书或搭建内部 CA,但需终端手动信任。

证书过期会导致服务不可用吗?

会,浏览器和客户端会拒绝连接,需配置自动续期或监控告警。

RAG 后端服务需要单独配 HTTPS 吗?

不需要,反向代理已加密链路,后端内网通信可保持 HTTP 以减轻负载。