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
相关文章
|
弹性计算 监控 负载均衡
|
监控 Java 应用服务中间件
低并发编程|如何用720个请求让后端服务器瘫痪
本次故障因应用启动时未有效校验核心依赖模块初始化异常,导致后续请求处理中抛出无法捕获的错误,引发线程阻塞,最终耗尽HSF线程池,服务不可用。排查发现类初始化失败且异常未被正确处理,结合线程无限等待问题,确认为依赖初始化异常与流处理中断所致。修复措施包括加强启动校验、捕获Throwable及设置合理超时。总结指出,系统稳定性需从细节入手,防微杜渐,避免连锁故障。
低并发编程|如何用720个请求让后端服务器瘫痪
|
12月前
|
传感器 机器学习/深度学习 算法
【室内导航通过视觉惯性数据融合】将用户携带的智能手机收集的惯性数据与手机相机获取的视觉信息进行融合研究(Matlab代码实现)
【室内导航通过视觉惯性数据融合】将用户携带的智能手机收集的惯性数据与手机相机获取的视觉信息进行融合研究(Matlab代码实现)
369 2
|
存储 算法 API
【01】整体试验思路,如何在有UID的情况下获得用户手机号信息,python开发之理论研究试验,如何通过抖音视频下方的用户的UID获得抖音用户的手机号-本系列文章仅供学习研究-禁止用于任何商业用途-仅供学习交流-优雅草卓伊凡
【01】整体试验思路,如何在有UID的情况下获得用户手机号信息,python开发之理论研究试验,如何通过抖音视频下方的用户的UID获得抖音用户的手机号-本系列文章仅供学习研究-禁止用于任何商业用途-仅供学习交流-优雅草卓伊凡
5379 82
|
负载均衡 监控 应用服务中间件
配置Nginx反向代理时如何指定后端服务器的权重?
配置Nginx反向代理时如何指定后端服务器的权重?
844 61
|
缓存 前端开发 IDE
【06】flutter完成注册页面-密码登录-手机短信验证-找回密码相关页面-并且实现静态跳转打包demo做演示-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【06】flutter完成注册页面-密码登录-手机短信验证-找回密码相关页面-并且实现静态跳转打包demo做演示-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
626 0
【06】flutter完成注册页面-密码登录-手机短信验证-找回密码相关页面-并且实现静态跳转打包demo做演示-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
运维 监控 负载均衡
slb后端服务器故障
slb后端服务器故障
466 13
|
JavaScript
使用node.js搭建一个express后端服务器
Express 是 Node.js 的一个库,用于搭建后端服务器。本文将指导你从零开始构建一个简易的 Express 服务器,包括项目初始化、代码编写、服务启动与项目结构优化。通过创建 handler 和 router 文件夹分离路由和处理逻辑,使项目更清晰易维护。最后,通过 Postman 测试确保服务正常运行。
1191 1
|
监控 负载均衡 算法
slb管理后端服务器
【10月更文挑战第18天】
309 5
|
关系型数据库 API 数据库
后端开发的艺术:从零到一构建高效服务器
在数字化时代,后端开发是支撑现代互联网应用的基石。本文旨在探讨后端开发的核心概念、关键技术以及如何构建一个高效的服务器。我们将从基础的编程语言选择开始,逐步深入到数据库设计、API开发和性能优化等关键领域。通过实际案例分析,我们将揭示后端开发的复杂性和挑战性,同时提供实用的解决方案和最佳实践。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的见解和启发。

热门文章

最新文章