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
         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
优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/500901

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。