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
相关文章
|
3天前
|
弹性计算 运维 监控
slb后端服务器组(Backend Server Group)关联
阿里云SLB的后端服务器组提供逻辑分组、精细化路由、端口隔离、权重分配与会话保持等功能,便于资源管理、流量控制和故障隔离。通过监听规则、健康检查、标签和API关联,实现灵活的后端资源配置,适应多变的业务需求,确保服务稳定性和资源利用率。
22 1
|
3天前
|
前端开发 数据处理 API
后端开发:构建稳健与高效的服务器逻辑
后端开发:构建稳健与高效的服务器逻辑
|
3天前
|
存储 弹性计算 运维
ECS信息问题之获取信息如何解决
ECS(Elastic Compute Service,弹性计算服务)是云计算服务提供商提供的一种基础云服务,允许用户在云端获取和配置虚拟服务器。以下是ECS服务使用中的一些常见问题及其解答的合集:
ECS信息问题之获取信息如何解决
|
18小时前
|
SQL 存储 数据库
两个Python脚本轻松解决ETL工作:统计多个服务器下所有数据表信息
两个Python脚本轻松解决ETL工作:统计多个服务器下所有数据表信息
|
3天前
|
JSON JavaScript 前端开发
vue的 blob文件下载文件时,后端自定义异常,并返回json错误提示信息,前端捕获信息并展示给用户
vue的 blob文件下载文件时,后端自定义异常,并返回json错误提示信息,前端捕获信息并展示给用户
|
3天前
|
存储 Linux 网络安全
都2023年了还不了解?使用FileZilla搭建信息文件服务器(Windows7)
都2023年了还不了解?使用FileZilla搭建信息文件服务器(Windows7)
|
3天前
|
存储 运维 安全
服务器数据恢复—异常断电导致RAID5阵列信息丢失的数据恢复案例
服务器数据恢复环境: 某品牌ProLiant DL380系列服务器,服务器中有一组由6块SAS硬盘组建的RAID5阵列,WINDOWS SERVER操作系统,作为企业内部文件服务器使用。 服务器故障: 机房供电几次意外中断,服务器出现故障前最后一次异常断电重启后RAID报错,提示无法找到存储设备,进入RAID管理模块做任何操作都死机,重启服务器后问题依旧,用户联系北亚企安数据恢复中心寻求帮助。
|
3天前
|
弹性计算 运维 Shell
后端服务器一键上下线
【4月更文挑战第30天】
7 1
|
3天前
|
JSON JavaScript 前端开发
服务器通信:使用WebSocket与后端实时交互
【4月更文挑战第24天】WebSocket为解决服务器与客户端实时双向通信问题而生,常用于聊天、游戏和实时通知等场景。本文通过4步教你实现WebSocket通信:1) 客户端使用JavaScript创建WebSocket连接;2) 监听`open`、`message`和`close`事件;3) 使用`send`方法发送数据;4) 使用`close`方法关闭连接。服务器端则需处理连接和数据发送,具体实现依后端技术而定。WebSocket为现代Web应用的实时交互提供了强大支持。
|
3天前
|
小程序 开发者
体验版小程序为何无法访问云端服务器后端接口(请求失败...(已完美解决附加图片))?
体验版小程序为何无法访问云端服务器后端接口(请求失败...(已完美解决附加图片))?
25 0

热门文章

最新文章