mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-22 04:10:48 +00:00
e349159a34
HAProxy 2.2 is the lowest supported version, thus this always matches.
see 7aff1bf6b9
76 lines
2.5 KiB
Plaintext
76 lines
2.5 KiB
Plaintext
varnishtest "Test the custom errors for HTTP deny rules"
|
|
|
|
# This config tests the custom errors for HTTP deny rules.
|
|
|
|
feature ignore_unknown_macro
|
|
|
|
haproxy h1 -conf {
|
|
http-errors errors-1
|
|
errorfile 400 ${testdir}/errors/400-1.http
|
|
errorfile 403 ${testdir}/errors/403-1.http
|
|
errorfile 404 ${testdir}/errors/404-1.http
|
|
errorfile 500 /dev/null
|
|
|
|
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}"
|
|
http-request deny deny_status 400 if { path /400 }
|
|
http-request deny deny_status 403 errorfile ${testdir}/errors/403.http if { path /403 }
|
|
http-request deny deny_status 404 errorfiles errors-1 if { path /404 }
|
|
http-request deny deny_status 500 errorfile /dev/null if { path /500-1 }
|
|
http-request deny deny_status 500 errorfiles errors-1 if { path /500-2 }
|
|
|
|
http-request deny status 500 hdr x-err-info "path=%[path]" content-type "text/plain" string "Internal Error" if { path /int-err }
|
|
http-request deny status 403 hdr x-err-info "path=%[path]" content-type "text/plain" lf-file ${testdir}/errors/lf-403.txt if { path /forbidden }
|
|
|
|
} -start
|
|
|
|
client c1r1 -connect ${h1_fe1_sock} {
|
|
txreq -req GET -url /400
|
|
rxresp
|
|
expect resp.status == 400
|
|
expect resp.http.x-err-type == <undef>
|
|
} -run
|
|
client c1r2 -connect ${h1_fe1_sock} {
|
|
txreq -req GET -url /403
|
|
rxresp
|
|
expect resp.status == 403
|
|
expect resp.http.x-err-type == "default"
|
|
} -run
|
|
client c1r3 -connect ${h1_fe1_sock} {
|
|
txreq -req GET -url /404
|
|
rxresp
|
|
expect resp.status == 404
|
|
expect resp.http.x-err-type == "errors-1"
|
|
} -run
|
|
client c1r4 -connect ${h1_fe1_sock} {
|
|
txreq -req GET -url /500-1
|
|
expect_close
|
|
} -run
|
|
client c1r5 -connect ${h1_fe1_sock} {
|
|
txreq -req GET -url /500-2
|
|
expect_close
|
|
} -run
|
|
client c1r6 -connect ${h1_fe1_sock} {
|
|
txreq -req GET -url /int-err
|
|
rxresp
|
|
expect resp.status == 500
|
|
expect resp.http.x-err-info == "path=/int-err"
|
|
expect resp.http.content-type == "text/plain"
|
|
expect resp.http.content-length == 14
|
|
expect resp.body == "Internal Error"
|
|
} -run
|
|
client c1r7 -connect ${h1_fe1_sock} {
|
|
txreq -req GET -url /forbidden
|
|
rxresp
|
|
expect resp.status == 403
|
|
expect resp.http.x-err-info == "path=/forbidden"
|
|
expect resp.http.content-type == "text/plain"
|
|
expect resp.body == "The path \"/forbidden\" is forbidden\n"
|
|
} -run
|