mirror of
https://github.com/caddyserver/caddy.git
synced 2025-02-24 23:57:05 -05:00
* 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> |
||
---|---|---|
.. | ||
caddyauth | ||
encode | ||
fileserver | ||
headers | ||
logging | ||
map | ||
proxyprotocol | ||
push | ||
requestbody | ||
reverseproxy | ||
rewrite | ||
standard | ||
templates | ||
tracing | ||
app.go | ||
autohttps.go | ||
caddyhttp.go | ||
caddyhttp_test.go | ||
celmatcher.go | ||
celmatcher_test.go | ||
errors.go | ||
http2listener.go | ||
httpredirectlistener.go | ||
invoke.go | ||
ip_matchers.go | ||
ip_range.go | ||
logging.go | ||
marshalers.go | ||
matchers.go | ||
matchers_test.go | ||
metrics.go | ||
metrics_test.go | ||
replacer.go | ||
replacer_test.go | ||
responsematchers.go | ||
responsematchers_test.go | ||
responsewriter.go | ||
responsewriter_test.go | ||
routes.go | ||
server.go | ||
server_test.go | ||
staticerror.go | ||
staticresp.go | ||
staticresp_test.go | ||
subroute.go | ||
vars.go |