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
相关文章
|
弹性计算 监控 负载均衡
|
7月前
|
监控 Java 应用服务中间件
低并发编程|如何用720个请求让后端服务器瘫痪
本次故障因应用启动时未有效校验核心依赖模块初始化异常,导致后续请求处理中抛出无法捕获的错误,引发线程阻塞,最终耗尽HSF线程池,服务不可用。排查发现类初始化失败且异常未被正确处理,结合线程无限等待问题,确认为依赖初始化异常与流处理中断所致。修复措施包括加强启动校验、捕获Throwable及设置合理超时。总结指出,系统稳定性需从细节入手,防微杜渐,避免连锁故障。
低并发编程|如何用720个请求让后端服务器瘫痪
|
7月前
|
存储 安全 文件存储
改造旧手机,秒变家庭存储服务器
本文介绍了如何利用旧手机安装AList Flutter搭建内网服务器,以替代传统云存储和NAS。方案兼顾文件安全与下载速度,且成本低廉,适合个人用户。内容包括所需工具、安装步骤及基础配置,帮助用户快速实现本地化文件管理。后续还将介绍如何实现公网访问。
1502 1
|
10月前
|
存储 监控 API
【Azure App Service】分享使用Python Code获取App Service的服务器日志记录管理配置信息
本文介绍了如何通过Python代码获取App Service中“Web服务器日志记录”的配置状态。借助`azure-mgmt-web` SDK,可通过初始化`WebSiteManagementClient`对象、调用`get_configuration`方法来查看`http_logging_enabled`的值,从而判断日志记录是否启用及存储方式(关闭、存储或文件系统)。示例代码详细展示了实现步骤,并附有执行结果与官方文档参考链接,帮助开发者快速定位和解决问题。
297 22
|
10月前
|
Go API 定位技术
MCP 实战:用 Go 语言开发一个查询 IP 信息的 MCP 服务器
随着 MCP 的快速普及和广泛应用,MCP 服务器也层出不穷。大多数开发者使用的 MCP 服务器开发库是官方提供的 typescript-sdk,而作为 Go 开发者,我们也可以借助优秀的第三方库去开发 MCP 服务器,例如 ThinkInAIXYZ/go-mcp。 本文将详细介绍如何在 Go 语言中使用 go-mcp 库来开发一个查询 IP 信息的 MCP 服务器。
588 2
|
负载均衡 监控 应用服务中间件
配置Nginx反向代理时如何指定后端服务器的权重?
配置Nginx反向代理时如何指定后端服务器的权重?
625 61
|
缓存 监控 Linux
Python 实时获取Linux服务器信息
Python 实时获取Linux服务器信息
|
运维 监控 负载均衡
slb后端服务器故障
slb后端服务器故障
274 13
|
Android开发 数据安全/隐私保护 虚拟化
安卓手机远程连接登录Windows服务器教程
安卓手机远程连接登录Windows服务器教程
3029 5
|
JavaScript
使用node.js搭建一个express后端服务器
Express 是 Node.js 的一个库,用于搭建后端服务器。本文将指导你从零开始构建一个简易的 Express 服务器,包括项目初始化、代码编写、服务启动与项目结构优化。通过创建 handler 和 router 文件夹分离路由和处理逻辑,使项目更清晰易维护。最后,通过 Postman 测试确保服务正常运行。
926 1

热门文章

最新文章