mirror of
http://git.haproxy.org/git/haproxy.git
synced 2026-02-20 16:43:33 +02:00
Now that warnings were almost all removed, let's enable zero-warning
via -dW. All tests were adjusted, but two:
- mcli/mcli_start_progs.vtc:
the programs section currently cannot be silenced
- stats/stats-file.vtc:
the warning comes from the stats file itself on comment lines.
All other ones are now OK.
192 lines
4.3 KiB
Plaintext
192 lines
4.3 KiB
Plaintext
varnishtest "Misuses of defaults section defining TCP/HTTP rules"
|
|
|
|
feature cmd "$HAPROXY_PROGRAM -cc 'version_atleast(2.5-dev0)'"
|
|
feature ignore_unknown_macro
|
|
|
|
#
|
|
# anonymous defaults section cannot define TCP/HTTP rules
|
|
#
|
|
haproxy h1 -arg '-dW' -conf-BAD {} {
|
|
defaults
|
|
http-request set-header X-Hdr 1
|
|
}
|
|
|
|
haproxy h2 -arg '-dW' -conf-BAD {} {
|
|
defaults
|
|
http-response set-header X-Hdr 1
|
|
}
|
|
|
|
haproxy h3 -arg '-dW' -conf-BAD {} {
|
|
defaults
|
|
http-after-request set-header X-Hdr 1
|
|
}
|
|
|
|
haproxy h4 -arg '-dW' -conf-BAD {} {
|
|
defaults
|
|
tcp-request connection accept
|
|
}
|
|
|
|
haproxy h5 -arg '-dW' -conf-BAD {} {
|
|
defaults
|
|
tcp-request session accept
|
|
}
|
|
|
|
haproxy h6 -arg '-dW' -conf-BAD {} {
|
|
defaults
|
|
tcp-request inspect-delay 5s
|
|
tcp-request content accept
|
|
}
|
|
|
|
haproxy h7 -arg '-dW' -conf-BAD {} {
|
|
defaults
|
|
tcp-response inspect-delay 5s
|
|
tcp-response content accept
|
|
}
|
|
|
|
#
|
|
# defaults section defining TCP/HTTP rules cannot be used to init another
|
|
# defaults section
|
|
#
|
|
haproxy h8 -arg '-dW' -conf-BAD {} {
|
|
defaults invalid
|
|
tcp-response inspect-delay 5s
|
|
tcp-response content accept
|
|
|
|
defaults from invalid
|
|
mode tcp
|
|
}
|
|
|
|
#
|
|
# defaults section defining TCP/HTTP rules cannot be used to init a listen
|
|
# section
|
|
#
|
|
haproxy h9 -arg '-dW' -conf-BAD {} {
|
|
defaults invalid
|
|
tcp-request inspect-delay 5s
|
|
tcp-request content accept
|
|
|
|
listen li from invalid
|
|
mode tcp
|
|
bind "fd@${lih9}"
|
|
server www 127.0.0.1:80
|
|
}
|
|
|
|
#
|
|
# defaults section defining TCP/HTTP rules cannot be used to init frontend and
|
|
# backend sections at the same time
|
|
#
|
|
#
|
|
haproxy h10 -arg '-dW' -conf-BAD {} {
|
|
defaults invalid
|
|
tcp-request inspect-delay 5s
|
|
tcp-request content accept
|
|
|
|
frontend fe from invalid
|
|
mode tcp
|
|
bind "fd@${feh10}"
|
|
default_backend be1
|
|
|
|
backend be from invalid
|
|
mode tcp
|
|
server www 127.0.0.1:80
|
|
}
|
|
|
|
#
|
|
# defaults section defining 'tcp-request connection' or 'tcp-request session'
|
|
# rules cannot be used to init backend sections
|
|
#
|
|
haproxy h11 -arg '-dW' -conf-BAD {} {
|
|
defaults invalid
|
|
tcp-request connection accept
|
|
|
|
backend be from invalid
|
|
mode tcp
|
|
server www 127.0.0.1:80
|
|
}
|
|
|
|
haproxy h12 -arg '-dW' -conf-BAD {} {
|
|
defaults invalid
|
|
tcp-request session accept
|
|
|
|
backend be from invalid
|
|
mode tcp
|
|
server www 127.0.0.1:80
|
|
}
|
|
|
|
#
|
|
# defaults section defining 'tcp-response content' rules cannot be used to init
|
|
# a frontend section
|
|
#
|
|
haproxy h13 -arg '-dW' -conf-BAD {} {
|
|
defaults invalid
|
|
tcp-response inspect-delay 5s
|
|
tcp-response content accept
|
|
|
|
frontend fe from invalid
|
|
mode tcp
|
|
bind "fd@${feh10}"
|
|
}
|
|
|
|
haproxy h14 -arg -V -arg '-dW' -conf-OK {
|
|
defaults tcp
|
|
timeout client 30s
|
|
timeout server 30s
|
|
timeout connect 30s
|
|
tcp-response inspect-delay 5s
|
|
tcp-response content accept
|
|
|
|
backend be from tcp
|
|
mode tcp
|
|
server www 127.0.0.1:80
|
|
}
|
|
|
|
#
|
|
# Check arguments resolutions in rules. FE/BE arguments must be resolved, but
|
|
# SRV/TAB arguments without an explicit proxy name are not allowed.
|
|
#
|
|
|
|
haproxy h15 -arg '-dW' -conf-BAD {} {
|
|
defaults invalid
|
|
mode http
|
|
http-request set-header x-test "%[srv_conn(www)]"
|
|
|
|
backend be from invalid
|
|
server www 127.0.0.1:80
|
|
}
|
|
|
|
haproxy h16 -arg '-dW' -conf-BAD {} {
|
|
defaults invalid
|
|
mode http
|
|
http-request track-sc0 src
|
|
http-request deny deny_status 429 if { sc_http_req_rate(0) gt 20 }
|
|
|
|
backend be
|
|
stick-table type ip size 100k expire 30s store http_req_rate(10s)
|
|
server www 127.0.0.1:80
|
|
}
|
|
|
|
haproxy h17 -arg -V -arg '-dW' -conf-OK {
|
|
defaults common
|
|
timeout client 30s
|
|
timeout server 30s
|
|
timeout connect 30s
|
|
mode http
|
|
|
|
defaults def_front from common
|
|
http-request set-header x-test1 "%[fe_conn]"
|
|
|
|
defaults def_back from common
|
|
http-request track-sc0 src table be
|
|
http-request deny deny_status 429 if { sc_http_req_rate(0,be) gt 20 }
|
|
http-request set-header x-test2 "%[be_conn]"
|
|
http-request set-header x-test3 "%[srv_conn(be/www)]"
|
|
|
|
frontend fe from def_front
|
|
bind "fd@${feh15}"
|
|
default_backend be
|
|
|
|
backend be from def_back
|
|
stick-table type ip size 100k expire 30s store http_req_rate(10s)
|
|
server www 127.0.0.1:80
|
|
}
|