限制从API网关(客户端证书)访问Elastic Beanstalk

时间:2017-01-22 15:12:11

标签: amazon-web-services ssl nginx elastic-beanstalk aws-api-gateway

如何限制只能从API网关处理请求的Elastic Beanstalk访问?

从API Gateway的角度来看,这很简单:

  1. 生成简单的客户端证书(通过API网关仪表板),
  2. 后端会在每次请求时验证证书。
  3. (A)但我该如何验证此客户端证书。在使用NGINX的多重锁定器配置中的Elastic Beanstalk(EB)上?

    我读过Elastic Load Balancer(ELB)(EB的组件)无法验证它。我必须使用在ELB后面的EC2上作为Docker容器运行的NGINX来验证它。

    (B)我应该在EB的Elastic Load Balancers上设置什么(端口配置:HTTP(S)/ TCP)?我是否购买了经过验证的SSL证书,我的Elastic Beanstalk可以使用443端口?

    (C)我应该在EC2实例上设置什么? (除了NGINX - 我相信我知道如何设置nginx.conf)

    (D)在ELB中使用TCP而不是HTTP有一些缺点吗?

    我已经阅读了一些关于这个问题的文章和其他SO帖子,但是目前我对这个话题感到困惑。任何澄清都会非常有用!

1 个答案:

答案 0 :(得分:1)

您是正确的,因为您需要在服务器主机上验证证书。具体配置将根据您的设置而有所不同,但应该非常简单 - 我建议您查阅NGINX文档。

要在主机上验证证书,您需要配置ELB以使用TCP负载平衡。请参阅ELB docs有关HTTP和TCP负载平衡之间的差异。