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

如何在不使用公证书的情况下通过SSL连接AWS API Gateway与内部NLB/ALB

问题背景

我有一个公网AWS API Gateway REST API,需要将其连接至内部NLB/ALB,出于合规要求,所有通信必须采用SSL协议。
当前配置:API Gateway对入站连接使用SSL,随后通过VPC Link代理至非SSL私有AWS Network Load Balancer,该NLB再连接至Application Load Balancer。

注意:API Gateway REST API无法通过VPC Link直接连接至ALB,因此必须连接至指向ALB的NLB;而HTTP API允许直接连接。

请求流程:

  1. GET https://<api-gateway-domain>/sample/api
  2. API Gateway通过代理集成(VPC Link)连接至私有VPC子网中的NLB
  3. NLB路由至单个ALB
  4. ALB根据请求特征路由至对应的后端服务器

根据AWS API Gateway文档,仅允许使用受信任CA签发的SSL证书。我希望避免为私有资源获取公证书,已尝试为ALB配置内部CA签发的私有证书,但API Gateway因不识别该内部CA而无法连接至后端,求可行方案。

可行方案

方案1:使用AWS Certificate Manager(ACM)私有CA

  • 在AWS中创建ACM私有CA,用它为内部ALB/NLB签发私有SSL证书
  • 将ACM私有CA的根证书导入API Gateway的信任存储:通过API Gateway控制台或CLI,把私有CA的根证书添加到API Gateway的自定义信任列表中,让API Gateway信任该CA签发的内部证书
  • 配置NLB/ALB使用ACM私有CA签发的证书,确保API Gateway到NLB/ALB的通信全程使用SSL

方案2:部署内部SSL终止代理

  • 在VPC内部部署SSL终止代理(如Nginx、HAProxy),配置代理使用内部CA签发的证书,同时根据合规要求配置客户端验证规则
  • API Gateway通过VPC Link以SSL方式连接到该代理,代理再将请求转发至ALB(可选择保持SSL或使用内部HTTP,需符合合规要求)
  • 此方案无需修改API Gateway的全局信任配置,通过中间代理层适配内部证书信任问题

方案3:迁移至API Gateway HTTP API

  • 利用HTTP API可通过VPC Link直接连接ALB的特性,将现有REST API迁移为HTTP API
  • 为ALB配置内部CA签发的证书,在HTTP API的集成设置中启用自定义CA信任,上传内部CA的根证书至HTTP API的信任存储,让HTTP API信任ALB的私有证书
  • 此方案简化架构,移除NLB中转环节,同时满足全SSL通信要求

方案4:采用AWS PrivateLink服务端点

  • 如果后端是AWS托管服务(如ECS、EC2上的服务),配置AWS PrivateLink服务端点,让API Gateway通过PrivateLink直接连接后端服务,无需经过NLB/ALB
  • 为PrivateLink端点配置内部CA签发的证书,将CA根证书导入API Gateway信任存储,实现端到端SSL通信
  • 此方案适合后端服务可直接通过PrivateLink暴露的场景,减少中间负载均衡层级

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 19:10:23