代码之家  ›  专栏  ›  技术社区  ›  Shorn

AWS应用程序负载平衡器实际上支持压缩吗?

  •  9
  • Shorn  · 技术社区  · 7 年前

    我的前端代码直接与后端的应用程序负载平衡器通信(使用HTTPS上的JSON)。

    我开始检索更多的数据——所以我想我应该弄清楚我必须做哪些更改来支持压缩HTTP数据。

    我看到一些帖子说AWS负载平衡器压缩被破坏了。

    例子: https://medium.com/@sanjay.rajak/why-i-replaced-aws-elastic-load-balancer-to-haproxy-load-balancer-72207fad2d96

    但据我所知 AWS documentation -ELB/ALB等实际上根本不支持压缩。

    作为一种解决方法,如果我想的话,我可以通过Cloudfront或API网关直接进行后端调用,以获得压缩——考虑到这些服务还可以对请求进行一些缓存等,这可能是实现压缩的“正确”方法。

    但在我开始处理这些其他服务之前,AWS负载平衡器真的不支持压缩吗?

    2 回复  |  直到 7 年前
        1
  •  11
  •   Mark B    7 年前

    我刚刚用运行在应用程序负载平衡器后面的应用程序测试了这一点。在服务器上启用gzip压缩后,浏览器将接收gzip压缩的资源。ALB正确通过 content-encoding: gzip HTTP标头。请注意,通过ALB,您还可以获得HTTP/2支持,从而进一步减少浏览器加载网站文件所需的时间。

    我认为你链接的文章是不正确的,或者过时了,或者可能这是一个经典ELBs特有的问题。

        2
  •  2
  •   Mark Mucha    7 年前

    您可以使用Layer 4 Classic(ELB)或网络负载平衡器。由于第4层负载平衡器是负载平衡TCP流量,ELB不会触及您的HTTP标头或响应。

    Network Load Balancer FAQ