首页/AI/大模型部署与运维速查/TLS 终结:证书放网关

TLS 终结:证书放网关

TLS 在网关终结:证书与握手都在 Nginx 等反代上完成,后端引擎内网明文通信;对外域名用受信 CA 证书,内部链路按威胁模型决定是否再加一层。

TLS 在哪一层终结

常见做法是把 TLS 终结放在网关:证书与握手都在 Nginx 这类反向代理上完成,后端推理引擎在内网走明文。对外域名使用受信任 CA 签发的证书,内网链路是否再加一层加密按威胁模型决定,而不是默认全都上。

基本信息

终结位置反向代理(如 Nginx)
对外证书受信任 CA 签发
内网链路按威胁模型决定
配置校验改完先 nginx -t
证书维护续期自动化加到期监控

典型使用场景

  • 把推理服务以 https 对外提供
  • 多后端实例共用一个证书
  • 统一做 HTTP 到 HTTPS 跳转
  • 把证书续期与部署流程自动化
  • 排查浏览器提示证书不受信的问题
  • 把证书与私钥放在只有运维可读的目录,权限与备份一并纳入检查
  • 把每个域名的证书与到期时间登记进台账,续期前有人跟进

Nginx 片段

Nginx 片段
server {
    listen 443 ssl;
    server_name <域名>;
    ssl_certificate     /etc/nginx/ssl/<证书>.pem;
    ssl_certificate_key /etc/nginx/ssl/<私钥>.key;
    location / { proxy_pass http://127.0.0.1:8000; }
}
# 改完先校验再重载:nginx -t && nginx -s reload

各层次的加密状态

链路加密说明
客户端到网关加密证书在此终结
网关到引擎默认明文前提是内网隔离
网关到引擎(可选)再加密按威胁模型决定
证书续期自动化与到期监控要一起做:只自动化不监控,遇到续期失败同样是全站不可用。
流式响应经过反向代理时要确认缓冲设置:部分默认配置会把分块响应攒起来,表现为前端长时间不出字。
客户端到网关的加密不覆盖内网:如果网关与引擎跨主机、跨机房,是否需要再加一层取决于网络边界与合规要求。
排查证书问题先确认生效的配置:多份 server 块或包含文件很容易改错位置,用配置检查命令确认后再改。

易错点

  • 引擎层也挂 TLS 再被网关转发:多一层握手与维护成本,威胁模型要先想清楚再决定
  • 只改证书文件不校验配置:语法或路径错误会在重载时直接中断服务
  • 忘记续期监控:证书到期是全站级故障,且时间可预期,属于最不该踩的坑
  • 反代缓冲没关:流式输出被攒成整包返回,首字延迟体感极差
  • 多网关或多实例只改一处:漏改的节点继续用旧证书,部分流量报证书错误

数据来源与参考

  • Nginx 官方文档:ssl_certificate(nginx.org/en/docs)
  • Let's Encrypt 文档(letsencrypt.org/docs)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌