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 块或包含文件很容易改错位置,用配置检查命令确认后再改。