haproxy/reg-tests/connection/proxy_protocol_send_unique_id.vtc
Amaury Denoyelle 1921d20fff MINOR: connection: use proxy protocol as parameter for srv conn hash
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.
2021-02-12 12:54:04 +01:00

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