我想将API网关请求代理到ECS群集中的容器。由于API网关无法放置在安全组中,因此我必须通过面向Internet的ALB负载平衡器公开该服务。要验证该服务仅处理来自API GW的流量,我希望使用client certificates。
有没有办法让ELB为我验证API网关客户端证书并在将请求交给我的HTTP后端之前终止SSL连接?
如果ELB无法验证证书,我觉得我必须降级"降级" TCP代理的代理,并在我的服务中执行SSL握手。但是,要做到这一点,我还需要从服务中提供证书。这是一个问题,因为我使用AWS配置的SSL证书,而且我没有私钥。因此,我不仅要重新创建SSL握手,还要从其他地方获取我的SSL证书,这是正确的吗?
希望能够在ALB后面设置API网关和ECS服务之间的信任。
答案 0 :(得分:3)
不幸的是,ELB不支持为您验证客户端证书。您可以在服务上实现SSL终止,并在TCP模式下使用ELB(或使用较新的NLB)。您不需要客户端证书的私钥,只需将公钥/证书添加到服务上的可信CA,以便该服务仅信任API GW客户端证书。