【问题标题】:Restrict access to Elastic Beanstalk from API Gateway (Client Side Cert.)限制从 API Gateway(客户端证书)访问 Elastic Beanstalk
【发布时间】:2017-06-07 03:34:14
【问题描述】:

如何限制对 Elastic Beanstalk 的访问使其只能处理来自 API Gateway 的请求?

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

  1. 生成简单的客户端证书(通过 API Gateway 仪表板),
  2. 后端验证每个请求的证书。

(A) 但是我应该如何验证这个客户端证书。在我的 Elastic Beanstalk (EB) 上使用 NGINX 进行多 docker 配置?

我了解到弹性负载均衡器 (ELB)(EB 的组件)无法验证它。我必须使用 NGINX 在 ELB 后面的 EC2 上作为 Docker 容器运行来验证它。

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

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

(D) 在 ELB 中使用 TCP 代替 HTTP 是否有一些缺点?

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

【问题讨论】:

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


    【解决方案1】:

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

    为了验证主机上的证书,您需要将 ELB 配置为使用 TCP 负载平衡。请参阅ELB docs 了解 HTTP 和 TCP 负载平衡之间的区别。

    【讨论】:

    • 感谢您的回答!你知道如何在 ELB 和 NGINX 上配置端口吗? ELB 应该监听端口 80 (TCP) 并将其转发到端口 80? NGINX 应该监听 80 端口吗?我对吗?还是应该是无处不在的 443 端口,还是 80 和 443 的某种混合?
    • @nicq 你是否掌握了在 ELB 和 Nginx 上设置监听的端口?
    猜你喜欢
    • 2018-07-24
    • 2017-06-18
    • 1970-01-01
    • 1970-01-01
    • 2017-12-16
    • 2018-05-11
    • 2018-02-15
    • 1970-01-01
    • 2018-08-31
    相关资源
    最近更新 更多