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 规则一 规则二 规则三 !规则四
注意感叹号就是非的意思,也就是排除
因篇幅问题不能全部显示,请点此查看更多更全内容