如何为AWS NLB后对应前后端服务的两个目标组均配置TLS访问
为ECS Fargate关联的NLB多目标组配置TLS加密的方案
不要将两个不同服务放入同一目标组:目标组是为同配置、同业务属性的工作负载设计的,混合前后端两类端口、健康检查规则完全不同的服务,必然会出现流量调度异常、健康检查误判的问题,保持每个服务对应独立目标组是正确的架构设计。
方案1:同一443端口通过SNI域名路由(推荐,无需开放额外端口)
适合前后端用不同域名访问的场景,比如前端用app.example.com,后端用api.example.com,所有请求都走标准443端口。
配置步骤:
- 确认你在ACM中申请的证书为通配符证书(比如
*.example.com)或者多域名SAN证书,同时覆盖前端和后端的访问域名 - 进入NLB控制台,打开现有的TLS 443监听器配置页,点击「添加规则」
- 规则条件选择 主机头,填写后端服务的专属访问域名(如
api.example.com) - 规则动作选择 转发到目标组,选中后端服务对应的独立目标组,保存规则
- (可选)根据需要调整TLS终止位置:
- 若选择NLB终止TLS(最省事):转发到目标组的流量可直接用HTTP协议,无需修改后端容器的服务配置,证书更新全由ACM自动完成
- 若选择TLS透传(高安全需求):监听器改为TCP 443类型,证书直接部署在Fargate容器内自行管理,NLB只做流量透传不做解密
- 配置完成后检查两个目标组的健康检查状态均为健康,即可正常访问,前端通过
https://app.example.com访问,后端通过https://api.example.com访问,均走TLS加密传输
方案2:新增独立TLS监听器(适合后端用单独端口访问的场景)
如果你不想配置域名路由,希望后端通过端口区分访问,可直接新增独立的TLS监听器:
配置步骤:
- 进入NLB控制台,点击「添加监听器」,选择监听器协议为
TLS,监听端口自定义(比如常用的8443) - 监听器关联ACM中有效的SSL证书,加密策略选择默认即可
- 转发动作直接绑定后端服务对应的独立目标组
- 调整NLB关联的安全组、网络ACL规则,放开
8443端口的入方向访问权限 - 配置完成后检查目标组的健康检查状态为健康,后端可通过
https://<你的域名或NLB地址>:8443的方式加密访问
内容的提问来源于stack exchange,提问作者antipopp
相关产品推荐
相关产品推荐

