内部ALB对接私有Route53及SSL认证与混合内容错误解决求助
混合内容错误的解决方案
核心问题
HTTPS页面发起HTTP请求会被浏览器拦截(混合内容限制),必须让前端对后端的调用也使用HTTPS协议。
方案1:为内部ALB配置SSL证书
- 为私有域名
example.local申请AWS ACM私有证书:这类证书专门用于VPC内部域名,无需公网验证,直接在ACM中创建即可。 - 给内部ALB添加HTTPS监听器(443端口),绑定上述私有证书,将流量转发至后端ECS的HTTP端口(若后端不处理SSL)。
- 修改React前端的API请求地址为
https://example.local,确保请求走HTTPS协议,消除混合内容错误。
方案2:通过公网ALB做路径转发
- 在公网ALB上新增路径规则,将
/api/*这类后端请求转发至内部ALB的目标组(需保证公网ALB与内部ALB所在VPC网络连通,比如通过VPC对等连接)。 - React前端将API请求改为相对路径(如
/api/get-data)或公网ALB的HTTPS域名路径,所有请求统一走公网ALB的HTTPS通道,避免混合内容问题。 - 优势:无需修改内部ALB配置,统一入口SSL处理,还可复用公网ALB的WAF等安全能力。
方案3:React环境代理配置(仅适用于开发场景)
- 开发环境下,在
package.json中添加代理配置:
或通过"proxy": "https://example.local"setupProxy.js实现更灵活的代理逻辑,将前端API请求代理到内部ALB的HTTPS地址,规避浏览器的混合内容限制。 - 生产环境不建议使用此方案,优先通过负载均衡配置解决。
额外注意点
- 确认私有Route53的
example.local域名已正确解析至内部ALB的私有IP,且React所在ECS集群能访问内部ALB的VPC网络。 - 若后端ECS本身支持HTTPS,可直接为后端配置SSL证书,让内部ALB转发HTTPS流量至后端443端口,进一步提升链路安全性。
内容的提问来源于stack exchange,提问作者Tae In Kim
相关产品推荐
相关产品推荐

