如何使用Nginx反向代理为API接口添加SSL证书

更新时间:2026-02-02 来源:TopSSL AI 助理 作者:TopSSL AI 助理

如何使用Nginx反向代理为API接口添加SSL证书

在 Nginx 反向代理场景下为 API 接口启用 SSL/TLS,本质是将 HTTPS 终止(TLS termination)放在 Nginx 层,后端 API 服务仍可使用 HTTP(或内部 TLS),由 Nginx 负责证书加载、加密解密与协议升级。核心步骤包括:获取并部署 SSL证书、配置 server 块启用 HTTPS、设置 proxy_pass 转发至上游 API 服务,并正确透传客户端真实信息。

典型配置示例如下(假设 API 服务监听于 http://127.0.0.1:8080,域名 api.example.com):

server {
    listen 443 ssl http2;
    server_name api.example.com;
ssl_certificate /path/to/fullchain.pem;        # 证书链(含根+中间)
ssl_certificate_key /path/to/privkey.pem;      # 私钥(需严格权限 600)

推荐启用的现代 TLS 策略(兼容主流客户端)

ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384; ssl_prefer_server_ciphers off;

HSTS(可选但推荐,尤其对公共 API)

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

location / { proxy_pass http://127.0.0.1:8080; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Port $server_port; }

}

可选:HTTP → HTTPS 强制跳转

server { listen 80; server_name api.example.com; return 301 https://$server_name$request_uri; }

证书文件可通过 免费ssl证书(如 Let's Encrypt)或商业 DV SSL证书 获取;若 API 涉及企业身份验证或高信任场景,建议选用 OV SSL证书EV SSL证书,以增强调用方对服务端身份的信任。

需要注意的情况

  • 私钥安全:私钥文件权限必须设为 600,且不可被 Nginx 工作进程以外用户读取;避免将私钥置于 Web 可访问路径。
  • 证书链完整性ssl_certificate 必须包含完整证书链(域名证书 + 中间 CA),否则部分客户端(如 Java、curl 默认配置)会因无法构建信任链而报错 SSL_ERROR_BAD_CERT_DOMAINCERTIFICATE_VERIFY_FAILED
  • 后端协议选择:若后端 API 本身支持 HTTPS(如运行在 Kubernetes Ingress 后),可配置 proxy_pass https://... 实现端到端加密,此时需在 Nginx 配置 proxy_ssl_trusted_certificate 并校验后端证书。
  • 国密合规需求:国内政务或金融类 API 若需满足商用密码要求,应部署 国密SSL证书,并搭配支持 SM2/SM3/SM4 的 Nginx 商用版(如 Tengine 国密分支)或 OpenSSL 3.0+ 自定义引擎。
立即探索,帮您快速寻找适合您的SSL数字证书 申请SSL证书
免费 SSL 证书申请|HTTPS 加密|企业级 SSL 证书服务 – TopSSL
提供免费与付费SSL证书申请
微信公众号二维码 扫一扫在线咨询
关注 TopSSL 公众号, RSS订阅SSL资讯与技术支持

2004-2026 ©北京传诚信  版权所有 | TopSSL提供免费 SSL 证书与企业级付费证书申请,快速实现 HTTPS 加密  北京市朝阳区鹏景阁大厦16层

技术协助:wo@topssl.cn 企业咨询:vip@topssl.cn