5.1.3 hdr <string>
复制代码
hdr(header) <string>
用于测试请求报文中的所有首部或指定首部是否满足指定的条件;指定首部时,其名称不区分大小写,且在括号“()”中不能有任何多余的空白字符。测试服务器端的响应报文时可以使用shdr()。例如下面的例子用于测试首部Connection的值是否为close。
复制代码
hdr(Connection) -i close
5.1.4 method <string>
复制代码
method <string>
测试HTTP请求报文中使用的方法。
5.1.5 path_beg <string>
用于测试请求的URL是否以指定的模式开头。下面的例子用于测试URL是否以/static、/images、/javascript或/stylesheets头。
复制代码
acl url_static path_beg -i /static /images /javascript /stylesheets
5.1.6 path_end <string>
用于测试请求的URL是否以<string>指定的模式结尾。例如,下面的例子用户测试URL是否以jpg、gif、png、css或js结尾。
复制代码
acl url_static path_end -i .jpg .gif .png .css .js
5.1.7 hdr_beg <string>
用于测试请求报文的指定首部的开头部分是否符合<string>指定的模式。例如,下面的例子用记测试请求是否为提供静态内容的主机img、video、download或ftp。
复制代码
acl host_static hdr_beg(host) -i img. video. download. ftp.
5.1.8 hdr_end <string>
用于测试请求报文的指定首部的结尾部分是否符合<string>指定的模式。
五、配置案例
前端调度器IP:192.168.1.210
后端应用服务器IP: 192.168.1.111 和 192.168.1.112
定义独立日志文件
复制代码
[root@node1 haproxy]# vim /etc/rsyslog.conf #为其添加日志功能
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514 ------>启动udp,启动端口后将作为服务器工作
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514 ------>启动tcp监听端口
local2.* /var/log/haproxy.log
[root@node1 haproxy]# service rsyslog restar
[root@LB haproxy]# vim haproxy.cfg
log 127.0.0.1 local2 --------->在global端中添加此行
一个最简单的http服务的配置
复制代码
global
log 127.0.0.1 local2
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 4000
user haproxy
group haproxy
daemon
stats socket /var/lib/haproxy/stats
defaults
mode http
log global
option httplog
option dontlognull
option http-server-close
option forwardfor except 127.0.0.0/8
option redispatch
retries 3
timeout http-request 10s
timeout queue 1m










