Haproxy隐藏后端服务器信息、实现压缩、手机端跳转
1.隐藏后端服务器版本 在日常工作中我们都会使用haproxy作为负载均衡器,因为后端应用服务器多更改麻烦,因此决定在负载均衡器实现。 只需要再frondend或listen或backend,添加 1 2 3 4 5 rspidel^Server:.* rspidel^X-Forwarded-For:.* rspidel^X-Powered-By:.* rspidel^Via:.* rspidel^X-AspNet-Version:* 以上使用可参考rspidel. 另外如果需要迷惑一些人可根据需要添加响应头部,则可以使用rspadd. 1 rspaddServer:\AWS 2.Haproxy添加压缩功能(适用于Haproxy 1.5以上版本,1.4及以下版本不支持) 在global中添加 1 2 tune.comp.maxlevel9 #压缩级别 maxcompcpuusage50 #压缩最大可使用CPU资源为50% 在defaults中添加 1 2 3 compressionalgo gzip #压缩算法 compression type text /html text /plain application /x-javascript text /css application /xml #压缩文件类型 compressionoffload #使用本地压缩方式 3.根据浏览器进行跳转 用户通过手机访问网站,自动跳转到手机站 1 2 3 4 5 aclmobile_agenthdr_sub(User-Agent)-iiphoneandroidmobileipadipod #定义规则客户端标识中有iphone、android、mobile中 aclmobile_sitehdr_dom(host)-iwww.abc123.com #定义访问的主机 aclredirect_pathurl_reg-i^ /p/ (1|2|3|4|5|6|7|8|9)^/$^ /index . #定义路径,这里的/p/数字开头的,以及/的和/index开头的 aclwww_pathurl_reg-i source =mobile #排除具有source=mobile标识,可用于某些用户通过手机端访问电脑版 redirectprefixhttp: //m .abc123.comdrop-query if mobile_agentmobile_siteredirect_path!www_path 当然也可以根据写入cookie的方式:(推荐) 1 2 3 4 5 aclmobile_agenthdr_sub(User-Agent)-iiphoneandroidmobileipadipod #定义规则客户端标识中有iphone、android、mobile中 aclmobile_sitehdr_dom(host)-iwww.abc123.com #定义访问的主机 aclredirect_pathurl_reg-i^ /p/ (1|2|3|4|5|6|7|8|9)^/$^ /index . #定义路径,这里的/p/数字开头的,以及/的和/index开头的 aclsite_taghdr_sub(cookie)PC=1 #通过写入cookie的方式进行排除,只需要加入PC=1(可自定义)这个cookie redirectprefixhttp: //m .abc123.comdrop-query if mobile_agentmobile_siteredirect_path!site_tag 其中前4条都是定义规则,只有第5条才生效的,写法 redirect prefix 替换的路径 drop-query if 规则一 规则二 规则三 !规则四 注意感叹号就是非的意思,也就是排除 本文转自 rong341233 51CTO博客,原文链接:http://blog.51cto.com/fengwan/1692175