千家信息网

haproxy定义规则

发表于:2024-10-22 作者:千家信息网编辑
千家信息网最后更新 2024年10月22日,常用的acl匹配条件-i:不区分中模式字符的大小写;-f:从指定的文件中加载模式;path_beg:用于测试请求的URL是否以指定的模式开头例:匹配url以/static、/p_w_picpaths、
千家信息网最后更新 2024年10月22日haproxy定义规则

常用的acl匹配条件

-i:不区分中模式字符的大小写;
-f:从指定的文件中加载模式;

path_beg:用于测试请求的URL是否以指定的模式开头
例:匹配url以/static、/p_w_picpaths、/javascript /stylesheets开头
acl url_static path_beg -i /static /p_w_picpaths /javascript /stylesheets
path_end:用于测试请求的URL是否以指定的模式结尾
例:匹配url以jpg、gif、png、css、js结尾
acl url_static path_end -i .jpg .gif .png .css .js
hdr_beg:用于测试请求报文的指定首部的开头部分是否符合指定的模式
例:匹配请求的主机以img、video、download或ftp开头
acl host_static hdr_beg(host) -i img. video. download. ftp.
即匹配访问的域名是img.baidu.com,video.baidu.com,download.baidu.com,ftp.baidu.com
url_beg:匹配的是整个url
例:匹配url为http://www.51yunv.com
acl is_51yunv url_beg http://www.51yunv.com
use_backend 51yunv if is_51yunv
dst_port:判断请求的端口

hdr_sub:判断客户的user-agent

例:判断客户端的user-agent是否为手机

acl shouji hdr_sub(user-agent) -i android iphone

定义分发规则:

根据请求的主机头,实现不同项目的请求,分发到不同的backend

hdr_beg(host):判断主机头

acl is_www hdr_beg(host) -i www.51yunv.com

acl is_wap hdr_beg(host) -i wap.51yunv.com

acl is_erp hdr_beg(host) -i erp.51yunv.com

acl is_interface hdr_beg(host) -i interface.51yunv.com

use_backend tomcat_erp_v2 if is_erp

use_backend tomcat_interface_v2 if is_interface

use_backend tomcat_web_v2 if is_www

use_backend tomcat_mobile_v2 if is_wap

通过定义以上规则即可实现访问不同的域名分发到不同的backend

定义重定向规则:

prefix:表示重定向url
location:表示重定向访问路径,即url不变,url后边跟的路径发生改变


redirect prefix http://weihu.51yunv.com/PC if is_www

redirect prefix http://weihu.51yunv.com/H5 if is_wap

说明:

当访问is_www时,重定向到weihu.51yunv.com/PC

当访问is_wap时,重定向到weihu.51yunv.com/H5

定义放行规则:

仅放行通过验证的IP地址或者IP范围段;

例:如果访问的是is_www,但来源IP不是指定的IP时,用http-request deny进行拒绝;

acl is_www hdr_beg(host) -i www.51yunv.com
acl is_dns src 116.211.121.0/24 218.65.212.0/24
http-request deny if is_www !is_dns(满足条件的直接进行拒绝)

也可以写为:

acl is_www hdr_beg(host) -i www.51yunv.com
acl is_dns src 116.211.121.0/24 218.65.212.0/24
user_backend www if is_www is_dns(两个条件同时满足才使用后端的www)

说明:

源地址有多个时,用空格进行隔开

定义手机只能访问手机端,电脑端只能访问电脑端规则:

当手机访问www.51yunv.com时转发到wap.51yunv.com

当电脑访问wap.51yunv.com时转发到www.51yunv.com

acl is_shouji hdr_sub(user-agent) -i android iphone
acl is_diannao hdr_beg(host) www
redirect prefix http://wap.51yunv.com if shouji
redirect prefix http://www.51yunv.com if is_diannao !is_shouji

规则 模式 不同 开头 手机 主机 条件 电脑 测试 地址 域名 客户 端的 路径 两个 同时 多个 大小 字符 常用 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 梭子鱼 网络安全 服务器一定要配存储吗 怎么把注册页面信息连接数据库 福州市飞沃网络技术有限公司 泰山服务器电脑版 深圳开发app软件开发 网络技术与通信技术有啥区别 湖南互联网企业八戒科技 卡巴服务器版 成都软件开发驻场公司有哪些 使用网络技术的体会 我的世界如何当服务器 我的世界顶级红石服务器地址 杨浦区质量网络技术开发 公安部网络安全通报中心 关于网络安全知识手抄报图片 网络安全存在的问题的范文 医学临床病例随访数据库平台 管家婆财贸数据库密码 php高并发操作数据库 网络安全行业的政策与法规 浪潮服务器报cpu温度 深圳微信扫码点餐软件开发 电子软件开发和嵌入式软件开发 不良网络安全专业就业前景 新加坡 软件开发工资待遇 云端和服务器的区别 长城汽车工厂软件开发岗 服务器突然断电 数据库 网络安全管理设备
0