mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-22 04:10:48 +00:00
1921d20fff
Use the proxy protocol frame if proxy protocol is activated on the server line. Do not add anymore these connections in the private list. If some requests are made with the same proxy fields, they can reuse the idle connection. The reg-tests proxy_protocol_send_unique_id must be adapted has it relied on the side effect behavior that every requests from a same connection reused a private server connection. Now, a new connection is created as expected if the proxy protocol fields differ.
43 lines
1.2 KiB
Plaintext
43 lines
1.2 KiB
Plaintext
varnishtest "Check that the unique ID TLV is properly sent"
|
|
|
|
#REQUIRE_VERSION=2.2
|
|
|
|
feature ignore_unknown_macro
|
|
|
|
haproxy h1 -conf {
|
|
defaults
|
|
mode http
|
|
log global
|
|
unique-id-format %{+X}o\ TEST-%[req.hdr(in)]
|
|
|
|
listen sender
|
|
bind "fd@${feS}"
|
|
|
|
unique-id-header unique_id
|
|
|
|
server example ${h1_feR_addr}:${h1_feR_port} send-proxy-v2 proxy-v2-options unique-id
|
|
|
|
listen receiver
|
|
bind "fd@${feR}" accept-proxy
|
|
|
|
http-request set-var(txn.http_unique_id) req.hdr(unique_id)
|
|
http-request set-var(txn.proxy_unique_id) fc_pp_unique_id
|
|
http-after-response set-header http_unique_id %[var(txn.http_unique_id)]
|
|
http-after-response set-header proxy_unique_id %[var(txn.proxy_unique_id)]
|
|
http-request return status 200
|
|
} -start
|
|
|
|
# Validate that a correct header passes
|
|
client c1 -connect ${h1_feS_sock} {
|
|
txreq -url "/" \
|
|
-hdr "in: foo"
|
|
rxresp
|
|
expect resp.http.http_unique_id == "TEST-foo"
|
|
expect resp.http.proxy_unique_id == "TEST-foo"
|
|
txreq -url "/" \
|
|
-hdr "in: bar"
|
|
rxresp
|
|
expect resp.http.http_unique_id == "TEST-bar"
|
|
expect resp.http.proxy_unique_id == "TEST-bar"
|
|
} -run
|