caddy/modules/caddyhttp
Matt Holt ab0455922a
reverseproxy: Dynamic upstreams (with SRV and A/AAAA support) (#4470)
* reverseproxy: Begin refactor to enable dynamic upstreams

Streamed here: https://www.youtube.com/watch?v=hj7yzXb11jU

* Implement SRV and A/AAA upstream sources

Also get upstreams at every retry loop iteration instead of just once
before the loop. See #4442.

* Minor tweaks from review

* Limit size of upstreams caches

* Add doc notes deprecating LookupSRV

* Provision dynamic upstreams

Still WIP, preparing to preserve health checker functionality

* Rejigger health checks

Move active health check results into handler-specific Upstreams.

Improve documentation regarding health checks and upstreams.

* Deprecation notice

* Add Caddyfile support, use `caddy.Duration`

* Interface guards

* Implement custom resolvers, add resolvers to http transport Caddyfile

* SRV: fix Caddyfile `name` inline arg, remove proto condition

* Use pointer receiver

* Add debug logs

Co-authored-by: Francis Lavoie <lavofr@gmail.com>
2022-03-06 17:43:39 -07:00
..
caddyauth go.mod: Migrate to golang.org/x/term (#4073) 2021-03-29 12:39:08 -06:00
encode encode: ignore flushing until after first write (#4318) 2021-08-31 13:36:36 -06:00
fileserver fileserver: Add pass_thru Caddyfile option (#4613) 2022-03-04 20:50:05 -07:00
headers headers: Fix + in Caddyfile to properly append rather than set (#4506) 2022-01-04 10:10:11 -07:00
map map: Fix 95c03506 (avoid repeated expansions) 2021-10-19 12:25:36 -06:00
push caddyhttp: Make logging of credential headers opt-in (#4438) 2021-12-02 13:26:24 -07:00
requestbody Revert "requestbody: Allow overwriting remote address" 2021-01-19 18:43:01 -07:00
reverseproxy reverseproxy: Dynamic upstreams (with SRV and A/AAAA support) (#4470) 2022-03-06 17:43:39 -07:00
rewrite rewrite: Add method Caddyfile directive (#4528) 2022-01-18 12:17:35 -07:00
standard encode,staticfiles: Content negotiation, precompressed files (#4045) 2021-03-29 18:47:19 -06:00
templates templates: Fix docs for .Args 2022-03-03 11:12:37 -07:00
app.go caddyhttp: Move HTTP redirect listener to an optional module (#4585) 2022-02-19 15:36:36 -07:00
autohttps.go caddyhttp: Don't attempt to manage Tailscale certs 2022-03-02 13:42:38 -07:00
caddyhttp.go fileserver: do not double-escape paths (#4447) 2021-12-11 09:26:21 -05:00
caddyhttp_test.go caddyhttp: Refactor and export SanitizedPathJoin for use in fastcgi (#4207) 2021-06-17 09:59:08 -06:00
celmatcher.go go.mod: Update direct dependencies 2021-06-03 12:18:25 -06:00
celmatcher_test.go caddyhttp: Add support to resolve DN in CEL expression (#3608) 2020-07-31 15:06:30 -06:00
errors.go ci: Use golangci's github action for linting (#3794) 2020-11-22 14:50:29 -07:00
httpredirectlistener.go caddyhttp: Move HTTP redirect listener to an optional module (#4585) 2022-02-19 15:36:36 -07:00
marshalers.go caddyhttp: Make logging of credential headers opt-in (#4438) 2021-12-02 13:26:24 -07:00
matchers.go caddyhttp: Support zone identifiers in remote_ip matcher (#4597) 2022-03-01 15:50:12 -07:00
matchers_test.go caddyhttp: Sanitize the path before evaluating path matchers (#4407) 2021-11-08 13:45:03 -07:00
metrics.go move common metrics-related funcs to internal package 2022-01-25 15:07:17 -05:00
metrics_test.go move common metrics-related funcs to internal package 2022-01-25 15:07:17 -05:00
replacer.go caddyhttp: Implement http.request.uuid placeholder (#4285) 2021-12-15 00:17:53 -07:00
replacer_test.go caddyfile: Fix caddy fmt nesting not decrementing (#4157) 2021-05-10 12:01:27 -06:00
responsematchers.go General minor improvements to docs 2021-09-24 18:31:01 -06:00
responsematchers_test.go reverseproxy: Add handle_response blocks to reverse_proxy (#3710) (#4021) 2021-05-02 12:39:06 -06:00
responsewriter.go caddyhttp: Fix trailers when recording responses (fixes #3236) 2020-04-22 11:10:13 -06:00
routes.go caddyhttp: Add support for triggering errors from try_files (#4346) 2021-09-17 00:52:32 -06:00
server.go caddyhttp: Honor wildcard hosts in log SkipHosts (#4606) 2022-03-04 13:44:59 -07:00
staticerror.go httpcaddyfile: Add error directive for the existing handler (#4034) 2021-03-12 13:25:49 -07:00
staticresp.go caddyhttp: Check for invalid subdirectives of static_response 2021-02-02 16:19:58 -07:00
staticresp_test.go Move from deprecated ioutil to os and io packages (#4364) 2021-09-29 11:17:48 -06:00
subroute.go reverseproxy: Enable changing only the status code (close #2920) 2020-06-04 12:06:38 -06:00
vars.go caddyhttp: Enhance vars matcher (#4433) 2021-12-13 13:59:58 -07:00