2016-12-07 30 views
2

我正在使用AWS-API-GatewayElastic Beanstalk环境。我想要确保在Elastic Beanstalk环境中的请求仅为AWS-API-Gateway提供。在EB环境中使用客户端ssl身份验证进行亚马逊验证api-gateway

亚马逊建议客户端SSL证书认证。我面临的问题是,即使我将Amazon API网关配置为在https连接上提供证书,它也会将证书授予负载均衡器,并且负载均衡器会将其证书颁发给我的ec-2实例。

所以在这种情况下,我从来没有收到API网关的SSL证书。请帮助我,或为我提供更好的解决方案。

我不想在场景中移除我的负载平衡器,因为它对我很有帮助。

回答

1

据我所知,使用ELB的关键是将ELB转换为TCP模式(而不是HTTP),因此SSL握手实际上是在EC2实例上完成的。这样您就可以在主机上进行验证,并将ELB视为简单的TCP负载均衡器。

一些有用的信息在这里Support for two-way TLS/HTTPS with ELB

+0

心里对自己说,在回答这个问题后,“不,这是不行的,”这是我*的总结准确*我看了你的答案的思维过程.. “啊,当然......好主意,杰克+1,现在只有你提到它,但我不确定我是否会考虑考虑这个选项。”然后我点击链接。哦。啊。好。是的,我想我确实在某个时候考虑过这个选项。大声笑。 :) –

+0

@迈克尔 - sqlbot你可以建议我一些另一种方式?我现在想的是,如果不能这样做,我应该限制我的EB服务器的使用,并且只在我的VPC内部服务器可以访问,但是API-网关URL是公共的。这将是一个很好的方法吗? –

+0

我不认为API网关可以直接代理VPC内的后端服务,但不公开公开,作为HTTP服务代理。相反,由API网关*调用的Lambda函数*可以执行此操作,因为可以使用配置将Lambda函数进行部署,从而将它们的网络接口分配给VPC中的专用子网。行为之间的明显差异并不是实际的差异 - API-Gateway和Lambda似乎在这种配置下以公平的原则运行,API-GW使用Lambda API代表请求者调用Lambda函数。 –

相关问题