【问题标题】:How does Cloudfront communicate with ELB?Cloudfront 如何与 ELB 通信?
【发布时间】:2018-04-07 09:58:48
【问题描述】:

INTERNET -> Cloudfront -> ELB -> 实例

从 Cloudfront 到 ELB 的流量是否需要加密? AWS 是在内部转发流量,还是一个普通的公共请求,如果不通过 h​​ttps 提供服务,将容易受到中间人攻击?

【问题讨论】:

    标签: amazon-web-services amazon-cloudfront


    【解决方案1】:

    Q) 从 CloudFront 到 ELB 的流量是否需要加密?

    A) 不,它不需要加密,但应该加密。今天的趋势正在迅速转向 HTTPS 流量作为首选协议。当我配置 CloudFront ELB EC2 时,我设置 CloudFront 以将 HTTP 重定向到 HTTPS,ELB 上的 SSL 卸载,ELB 和 EC2 之间的流量是常规 HTTP。 EC2 实例位于没有公共 IP 地址的私有子网中。

    问)AWS 是在内部转发流量,还是一个普通的公共请求,如果不通过 h​​ttps 提供服务,会容易受到中间人攻击?

    A) CloudFront 源只能使用 AWS 凭证进行配置。在这种情况下,源将是负载均衡器。在 Amazon 的网络之外,要拦截 CloudFront 和由 Route 53 DNS 服务器管理的 Amazon 负载均衡器之间的流量是很困难的。但是,我找不到任何关于如何在 CloudFront 和 Amazon 负载均衡器之间路由网络流量的参考资料。

    【讨论】:

    • 这就是我现在所做的。感谢您的确认。还找到了这两个来源:stackoverflow.com/a/35157859/1252307docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/…
    • “CloudFront 源只能使用 AWS 凭证进行配置。” 我不确定这究竟是什么意思,但根据您的意图,不一定准确。我的卧室中有一个配置为 CloudFront 源服务器的 Web 服务器。任何东西都可以是 CloudFront 源...但是 CloudFront 到 ELB 的流量通常会遍历 AWS 拥有和控制的全球 IP 网络;但是,我相信在链接中断的情况下可能会有例外。
    • 我提到源是负载均衡器,这意味着如果不是不可能的话,拦截它们之间的通信将非常困难,因为 DNS 服务器也是 Route 53,因此 DNS 名称无法修改。如果没有 Amazon Credentials,您无法修改 CloudFront(或 Route 53)以在中间插入一个人。我还想说 CloudFront 和 Amazon 负载均衡器之间的所有流量都在 Amazon 的私有网络中,但我找不到支持它的参考(尽管我相信是这种情况)。
    • ELB => EC2 流量仍应使用 HTTPS 作为最佳实践进行加密。
    • @WalkingWiki - 您的评论是否有 AWS 参考?在我的回答中,我在第一行中说过。但是,在 AWS 中,ELB 的 SSL 卸载被认为是一项强大的功能。 SSL 加密是 CPU 密集型的,将其卸载到 ELB 可减少实例的 CPU 负载。最佳实践建议以平衡的方式正确设计系统,同时考虑安全性、性能、容错性和可扩展性。
    【解决方案2】:

    我使用 CloudFront --> API Gateway --> Authorizer Lambda --> Route 53 --> --> HA 代理 --> API Gateway 的信任验证 --> 内部 ELB --> EC2

    这里有更多细节http://knowmg.blogspot.com/2017/11/why-do-i-need-haproxy-in-aws-stack.html

    【讨论】:

      猜你喜欢
      • 2022-01-07
      • 2016-05-11
      • 1970-01-01
      • 2021-10-25
      • 2018-01-26
      • 2021-01-29
      • 2021-01-05
      • 2014-04-06
      • 2019-10-02
      相关资源
      最近更新 更多