You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置AWS ALB转发SSL证书至启用SSL终止的NGINX?

解决方案:让AWS ALB传递客户端SSL证书到后端NGINX

针对你的问题,有两种可行方案实现保留NGINX层面SSL终止的同时,解决ALB导致的证书传递问题:

方案一:ALB透传SSL流量(推荐)

这种方式下ALB仅做TCP层转发,不终止SSL连接,客户端的SSL请求直接传递到NGINX,完全保留你现有NGINX的SSL终止配置:

  • 登录AWS控制台,找到目标ALB,将原有HTTPS监听器修改为TCP协议,监听443端口
  • 配置监听器的转发规则,将流量直接转发到NGINX所在目标组的443端口(HTTPS)
  • 此方案无需修改NGINX配置,NGINX可正常接收并验证客户端证书

方案二:保留ALB SSL终止,转发客户端证书信息

如果需要ALB继续处理HTTP层功能(如路径路由、WAF集成),可配置ALB将客户端证书通过请求头传递给NGINX,再调整NGINX逻辑验证证书:

  1. 配置ALB监听器

    • 编辑ALB的HTTPS监听器,在转发到目标组的设置中,勾选「转发客户端证书」选项
    • ALB会将客户端证书以Base64编码的PEM格式,通过X-SSL-CERT请求头发送给NGINX
  2. 修改NGINX配置
    在NGINX的HTTPS server块中添加以下配置,从请求头提取证书并完成验证:

    # 保留原有CA证书配置
    ssl_client_certificate /path/to/your-ca-cert.pem;
    ssl_verify_client on;
    
    # 从ALB传递的请求头读取客户端证书
    set $ssl_client_cert $http_x_ssl_cert;
    
    # 验证证书有效性(可选,根据原有逻辑调整)
    if ($ssl_client_verify != SUCCESS) {
        return 403;
    }
    

    注意:此时ALB与NGINX之间为HTTP连接,需确保NGINX的server块可监听对应HTTP端口,或调整ALB与NGINX之间的通信为HTTPS(但客户端证书仍需通过请求头传递)


内容的提问来源于stack exchange,提问作者Vlad Cenan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 17:55:27