mirror of
https://github.com/caddyserver/caddy.git
synced 2024-12-26 13:43:47 +03:00
ddb1d2c2b1
* caddyhttp: add `http.request.local{,.host,.port}` placeholder This is the counterpart of `http.request.remote{,.host,.port}`. `http.request.remote` operates on the remote client's address, while `http.request.local` operates on the address the connection arrived on. Take the following example: - Caddy serving on `203.0.113.1:80` - Client on `203.0.113.2` `http.request.remote.host` would return `203.0.113.2` (client IP) `http.request.local.host` would return `203.0.113.1` (server IP) `http.request.local.port` would return `80` (server port) I find this helpful for debugging setups with multiple servers and/or multiple network paths (multiple IPs, AnyIP, Anycast). Co-authored-by: networkException <git@nwex.de> * caddyhttp: add unit test for `http.request.local{,.host,.port}` * caddyhttp: add integration test for `http.request.local.port` * caddyhttp: fix `http.request.local.host` placeholder handling with unix sockets The implementation matches the one of `http.request.remote.host` now and returns the unix socket path (just like `http.request.local` already did) instead of an empty string. --------- Co-authored-by: networkException <git@nwex.de> |
||
---|---|---|
.. | ||
caddyfile_adapt | ||
testdata | ||
acme_test.go | ||
acmeserver_test.go | ||
autohttps_test.go | ||
caddyfile_adapt_test.go | ||
caddyfile_test.go | ||
handler_test.go | ||
leafcertloaders_test.go | ||
listener_test.go | ||
map_test.go | ||
pki_test.go | ||
reverseproxy_test.go | ||
sni_test.go | ||
stream_test.go |