mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-12 14:35:14 +00:00
fdf693477a
This reg-test was backported as far as 2.0. Thus, extend supported versions accordingly. This patch must be backported as far as 2.0.
124 lines
2.8 KiB
Plaintext
124 lines
2.8 KiB
Plaintext
varnishtest "http-restrict-req-hdr-names option tests"
|
|
feature cmd "$HAPROXY_PROGRAM -cc 'version_atleast(2.0-dev0)'"
|
|
|
|
# This config tests "http-restrict-req-hdr-names" option
|
|
|
|
feature ignore_unknown_macro
|
|
|
|
server s1 {
|
|
rxreq
|
|
expect req.http.x-my_hdr == on
|
|
txresp
|
|
} -start
|
|
|
|
server s2 {
|
|
rxreq
|
|
expect req.http.x-my_hdr == <undef>
|
|
txresp
|
|
} -start
|
|
|
|
server s3 {
|
|
rxreq
|
|
expect req.http.x-my_hdr == on
|
|
txresp
|
|
} -start
|
|
|
|
server s4 {
|
|
rxreq
|
|
expect req.http.x-my_hdr == <undef>
|
|
txresp
|
|
} -start
|
|
|
|
server s5 {
|
|
rxreq
|
|
expect req.http.x-my_hdr == on
|
|
txresp
|
|
} -start
|
|
|
|
haproxy h1 -conf {
|
|
defaults
|
|
mode http
|
|
timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
|
|
timeout client "${HAPROXY_TEST_TIMEOUT-5s}"
|
|
timeout server "${HAPROXY_TEST_TIMEOUT-5s}"
|
|
|
|
frontend fe1
|
|
bind "fd@${fe1}"
|
|
use_backend be-http1 if { path /req1 }
|
|
use_backend be-http2 if { path /req2 }
|
|
use_backend be-http3 if { path /req3 }
|
|
use_backend be-fcgi1 if { path /req4 }
|
|
use_backend be-fcgi2 if { path /req5 }
|
|
use_backend be-fcgi3 if { path /req6 }
|
|
|
|
backend be-http1
|
|
server s1 ${s1_addr}:${s1_port}
|
|
|
|
backend be-http2
|
|
option http-restrict-req-hdr-names delete
|
|
server s2 ${s2_addr}:${s2_port}
|
|
|
|
backend be-http3
|
|
option http-restrict-req-hdr-names reject
|
|
|
|
backend be-fcgi1
|
|
option http-restrict-req-hdr-names preserve
|
|
server s3 ${s3_addr}:${s3_port}
|
|
|
|
backend be-fcgi2
|
|
option http-restrict-req-hdr-names delete
|
|
server s4 ${s4_addr}:${s4_port}
|
|
|
|
backend be-fcgi3
|
|
option http-restrict-req-hdr-names reject
|
|
|
|
defaults
|
|
mode http
|
|
timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
|
|
timeout client "${HAPROXY_TEST_TIMEOUT-5s}"
|
|
timeout server "${HAPROXY_TEST_TIMEOUT-5s}"
|
|
option http-restrict-req-hdr-names preserve
|
|
|
|
frontend fe2
|
|
bind "fd@${fe2}"
|
|
default_backend be-fcgi4
|
|
|
|
backend be-fcgi4
|
|
server s5 ${s5_addr}:${s5_port}
|
|
|
|
fcgi-app my-fcgi-app
|
|
docroot ${testdir}
|
|
} -start
|
|
|
|
client c1 -connect ${h1_fe1_sock} {
|
|
txreq -req GET -url /req1 -hdr "X-my_hdr: on"
|
|
rxresp
|
|
expect resp.status == 200
|
|
|
|
txreq -req GET -url /req2 -hdr "X-my_hdr: on"
|
|
rxresp
|
|
expect resp.status == 200
|
|
|
|
txreq -req GET -url /req3 -hdr "X-my_hdr: on"
|
|
rxresp
|
|
expect resp.status == 403
|
|
|
|
txreq -req GET -url /req4 -hdr "X-my_hdr: on"
|
|
rxresp
|
|
expect resp.status == 200
|
|
|
|
txreq -req GET -url /req5 -hdr "X-my_hdr: on"
|
|
rxresp
|
|
expect resp.status == 200
|
|
|
|
txreq -req GET -url /req6 -hdr "X-my_hdr: on"
|
|
rxresp
|
|
expect resp.status == 403
|
|
} -run
|
|
|
|
client c2 -connect ${h1_fe2_sock} {
|
|
txreq -req GET -url /req1 -hdr "X-my_hdr: on"
|
|
rxresp
|
|
expect resp.status == 200
|
|
} -run
|