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
|
rspadd Server:\ AWS
|
2.Haproxy添加压缩功能(适用于Haproxy 1.5以上版本,1.4及以下版本不支持)
在global中添加
1
2
|
tune.comp.maxlevel 9
#压缩级别
maxcompcpuusage 50
#压缩最大可使用CPU资源为50%
|
在defaults中添加
1
2
3
|
compression algo
gzip
#压缩算法
compression
type
text
/html
text
/plain
application
/x-javascript
text
/css
application
/xml
#压缩文件类型
compression offload
#使用本地压缩方式
|
3.根据浏览器进行跳转
用户通过手机访问网站,自动跳转到手机站
1
2
3
4
5
|
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的方式:(推荐)
1
2
3
4
5
|
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 规则一 规则二 规则三 !规则四
注意感叹号就是非的意思,也就是排除
本文转自 rong341233 51CTO博客,原文链接:http://blog.51cto.com/fengwan/1692175