在ALB前端部署AWS NLB时出现ERR_SSL_PROTOCOL_ERROR求助
问题分析与解决方案
以下是你可能遗漏的关键配置点,按优先级排查:
NLB 443端口监听协议配置错误
你当前NLB的443端口用的是TCP协议转发,这会导致SSL握手逻辑出现问题,需根据SSL终止位置调整:- 若选择SSL终止在NLB:将NLB的443监听协议改为
TLS,并绑定对应的ACM证书(证书域名需匹配访问域名),然后转发到ALB的443端口(保持端到端加密)或80端口。 - 若选择SSL终止在ALB:NLB的443端口保持TCP协议,但需确保转发到ALB的443端口,同时确认ALB的安全组允许NLB的IP段访问443端口。
- 若选择SSL终止在NLB:将NLB的443监听协议改为
域名解析与证书覆盖范围不匹配
确认你的访问域名解析到的是NLB的静态IP或DNS名称,且所用证书(无论是绑定在NLB还是ALB上)的域名完全覆盖该访问域名,包括泛域名的情况。安全组与网络ACL的流量放行规则不全
- NLB安全组:需放行客户端IP段的80、443端口入站流量。
- ALB安全组:需放行NLB所属安全组(或NLB的弹性网络接口IP段)的对应端口入站流量(如NLB转发到ALB 443则放行443,转发到80则放行80)。
- VPC网络ACL:需双向放行客户端到NLB的80/443流量,以及NLB到ALB的对应端口流量。
NLB目标组配置错误
- 确认NLB目标组的目标端口与ALB的监听端口一致:比如ALB开启了443监听,目标组端口就设为443;若ALB仅开启80监听,目标组端口设为80。
- 检查目标组的健康检查配置:健康检查的协议、端口需与ALB的监听匹配,比如用HTTP协议访问ALB的健康路径(如
/health)来确保目标ALB状态正常。
内容的提问来源于stack exchange,提问作者pankaj
相关产品推荐
相关产品推荐

