共计 1043 个字符,预计需要花费 3 分钟才能阅读完成。
今天一个同事来找我反应,说他们的新站点 ulinux.img.linuxidc.com.cn 怎么也访问不了,页面返回的是一台测试机的代码,我第一反应是 DNS 解析问题,dig 了一下 正常,登录后端 web 抓包没有 ulinux.img.linuxidc.com.cn 这个包头的请求。又到同事说的那个测试机抓 结果抓了一大堆。
这时候想应该是 haproxy 的规则出问题了,按理说 只要是 img.linuxidc.com.cn 的域名都会分到默认后端上,而且分给那台测试机的 ACL 也并没有 对 ulinux.img.linuxidc.com.cn 的匹配,郁闷了,继续找 … 后来发现了下面这条规则
acl host_xman_test hdr_reg(host) -i f.[a-z]+.(xman|img).linuxidc.com.cn
hdr_reg(host) 是正则表达式匹配,我仔细一想 原来 f.[a-z]+.(xman|img).linuxidc.com.cn 让 haproxy 理解成了
*f.[a-z]+.(xman|img).linuxidc.com.cn 因为“.”没有被转义 所以 ulinux.img.linuxidc.com.cn 就被 acl host_xman_test 给拦截了 … 赶紧改成了 ^f\.[a-z]+.(xman|img).linuxidc.com.cn 重启 haproxy,访问正常
域名多的时候用正则匹配一定要小心啊!~~~
HAproxy 的详细介绍 :请点这里
HAproxy 的下载地址 :请点这里
推荐阅读:
Haproxy+Keepalived 搭建 Weblogic 高可用负载均衡集群 http://www.linuxidc.com/Linux/2013-09/89732.htm
Keepalived+HAProxy 配置高可用负载均衡 http://www.linuxidc.com/Linux/2012-03/56748.htm
CentOS 6.3 下 Haproxy+Keepalived+Apache 配置笔记 http://www.linuxidc.com/Linux/2013-06/85598.htm
Haproxy + KeepAlived 实现 WEB 群集 on CentOS 6 http://www.linuxidc.com/Linux/2012-03/55672.htm
Haproxy+Keepalived 构建高可用负载均衡 http://www.linuxidc.com/Linux/2012-03/55880.htm