3-4-6-HAProxy高级功能与配置之压缩功能

熊 0 阅读 Linux集群服务

对响应给客户端的报文进行压缩 , 以节省网络带宽 , 但是会占用部分CPU性能。

1. 配置选项

  • compression algo <algorithm> ... : 启用http协议的压缩机制 , 指明压缩算法gzip, deflate。 section : default、frontend、listen、backend。

    • identity : 调试使用的压缩方式

    • gzip : 常用的压缩方式 , 与各浏览器兼容较好

    • deflate : 有些浏览器不支持

    • raw-deflate : .新出的压缩方式

  • compression type <mime type> ... : 指明压缩的MIME类型 常适用于压缩的类型为文本类型。section : default、frontend、listen、backend。

  • compression offload:offload使得haproxy移除Accept-Encoding首部来防止后端主机进行压缩式响应 。强烈建议不要这样做 , 因为这意味着所有压缩工作将在HAProxy所在的单点上完成。然而 , 在某些部署场景中 , HAProxy可能安装在一个有缺陷的网关前面 ,该网关的HTTP压缩实现已损坏 , 无法关闭。在这种情况下 , 可以使用HAProxy来防止网关发出无效的负载。。section : frontend、listen、backend。

compression algo gzip deflate
compression type text/plain text/html text/css text/xml text/javascript application/javascript

2. 配置使用

listen web_port
        bind 0.0.0.0:80
        mode http
        log global
        balance random
        compression algo gzip deflate
        compression type text/plain text/html text/css text/xml text/javascript application/javascript
        http-response del-header x-powered-by
        http-response replace-header server .* test-server
        http-response add-header via haproxy2.2.9
        http-request add-header http_haproxy  %T
        server web1 192.168.194.136:8080  check  inter 3000 fall 2 rise 5
        server web2 192.168.194.128:8080  check  inter 3000 fall 2 rise 5

测试结果