1.隐藏后端服务器版本

在日常工作中我们都会使用haproxy作为负载均衡器,因为后端应用服务器多更改麻烦,因此决定在负载均衡器实现。

只需要再frondend或listen或backend,添加

        rspidel ^Server:.*
        rspidel ^X-Forwarded-For:.*
        rspidel ^X-Powered-By:.*
        rspidel ^Via:.*
        rspidel ^X-AspNet-Version:*

以上使用可参考rspidel.

另外如果需要迷惑一些人可根据需要添加响应头部,则可以使用rspadd.

        rspadd Server:\ AWS


2.Haproxy添加压缩功能(适用于Haproxy 1.5以上版本,1.4及以下版本不支持)

在global中添加

        tune.comp.maxlevel 9   #压缩级别
        maxcompcpuusage 50     #压缩最大可使用CPU资源为50%

在defaults中添加

        compression algo gzip    #压缩算法
        compression type text/html text/plain application/x-javascript text/css application/xml #压缩文件类型
        compression offload    #使用本地压缩方式


3.根据浏览器进行跳转

用户通过手机访问网站,自动跳转到手机站

acl mobile_agent hdr_sub(User-Agent) -i iphone android mobile ipad ipod   #定义规则客户端标识中有iphone、android、mobile中
acl mobile_site hdr_dom(host) -i  www.abc123.com  #定义访问的主机 
acl redirect_path url_reg -i ^/p/(1|2|3|4|5|6|7|8|9) ^/$ ^/index.   #定义路径,这里的/p/数字开头的,以及/的和/index开头的
acl www_path url_reg -i source=mobile  #排除具有source=mobile标识,可用于某些用户通过手机端访问电脑版
redirect prefix http://m.abc123.com drop-query if mobile_agent mobile_site redirect_path ! www_path

当然也可以根据写入cookie的方式:(推荐)

acl mobile_agent hdr_sub(User-Agent) -i iphone android mobile ipad ipod   #定义规则客户端标识中有iphone、android、mobile中
acl mobile_site hdr_dom(host) -i  www.abc123.com  #定义访问的主机 
acl redirect_path url_reg -i ^/p/(1|2|3|4|5|6|7|8|9) ^/$ ^/index.   #定义路径,这里的/p/数字开头的,以及/的和/index开头的
acl site_tag hdr_sub(cookie) PC=1  #通过写入cookie的方式进行排除,只需要加入PC=1(可自定义)这个cookie
redirect prefix http://m.abc123.com drop-query if mobile_agent mobile_site redirect_path ! site_tag

其中前4条都是定义规则,只有第5条才生效的,写法

redirect prefix 替换的路径 drop-query if 规则一 规则二 规则三 !规则四

注意感叹号就是非的意思,也就是排除