Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-11-15 | reverse_proxy: Allow buffering of client requests | Matthew Holt | |
This is a bad idea, but some backends apparently require it. See discussion in #176. | |||
2019-11-15 | cmd: Disable admin endpoint for file-server and reverse-proxy commands | Matthew Holt | |
This makes it easier to use multiple instances on the same machine | |||
2019-11-11 | core: Use port ranges to avoid OOM with bad inputs (#2859) | Mohammed Al Sahaf | |
* fix OOM issue caught by fuzzing * use ParsedAddress as the struct name for the result of ParseNetworkAddress * simplify code using the ParsedAddress type * minor cleanups | |||
2019-11-06 | reverse_proxy: Fix NTLM auth detection | Matthew Holt | |
D'oh. Got mixed up in a refactoring. | |||
2019-11-05 | reverse_proxy: Add support for NTLM | Matthew Holt | |
2019-11-05 | reverse_proxy: Make HTTP versions configurable, don't set NextProtos | Matthew Holt | |
2019-11-04 | reverse_proxy: Add UnmarshalCaddyfile for random_choose selection policy | Matthew Holt | |
Also allow caddy.Duration to be given integer values which are treated like regular time.Duration values (nanoseconds). Fixes #2856 | |||
2019-11-04 | reverse_proxy: Add port to upstream address if only implied in scheme | Matthew Holt | |
2019-10-31 | reverse_proxy: Fix panic for some CLI flag values (closes #2848) | Matthew Holt | |
2019-10-29 | reverse_proxy: Structured logs | Matthew Holt | |
2019-10-29 | proxy: Forgot to commit import | Matthew Holt | |
2019-10-29 | proxy: Enable HTTP/2 on transport to backend | Matthew Holt | |
2019-10-28 | caddyhttp: Minor cleanup and fix nil pointer deref in caddyfile adapter | Matthew Holt | |
2019-10-28 | v2: Logging! (#2831) | Matt Holt | |
* logging: Initial implementation * logging: More encoder formats, better defaults * logging: Fix repetition bug with FilterEncoder; add more presets * logging: DiscardWriter; delete or no-op logs that discard their output * logging: Add http.handlers.log module; enhance Replacer methods The Replacer interface has new methods to customize how to handle empty or unrecognized placeholders. Closes #2815. * logging: Overhaul HTTP logging, fix bugs, improve filtering, etc. * logging: General cleanup, begin transitioning to using new loggers * Fixes after merge conflict | |||
2019-10-11 | reverse_proxy: optimize MaxIdleConnsPerHost default (#2809) | yzongyue | |
2019-10-11 | reverse_proxy: Allow dynamic backends (closes #990 and #1539) | Matthew Holt | |
This PR enables the use of placeholders in an upstream's Dial address. A Dial address must represent precisely one socket after replacements. See also #998 and #1639. | |||
2019-10-10 | reverse_proxy: Customize SNI value in upstream request (closes #2483) | Matthew Holt | |
2019-10-10 | Miscellaneous cleanups / comments | Matthew Holt | |
2019-10-09 | reverse_proxy: Add local circuit breaker | Matthew Holt | |
This migrates a feature that was previously reserved for enterprise users, according to https://github.com/caddyserver/caddy/issues/2786. The local circuit breaker is a simple metrics counter that can cause the reverse proxy to consider a backend unhealthy before it actually goes offline, by measuring recent latencies over a sliding window. Credit to Danny Navarro | |||
2019-10-05 | reverse_proxy: Implement retry_match; by default only retry GET requests | Matthew Holt | |
See https://caddy.community/t/http-proxy-and-non-get-retries/6304 | |||
2019-10-04 | reverse_proxy: Configurable request headers on active health checks | Matthew Holt | |
See https://caddy.community/t/health-check-user-agent/6309 | |||
2019-10-03 | Add file-server and reverse-proxy subcommands | Matthew Holt | |
2019-09-20 | reverse_proxy/headers: Expose header replacement ability in Caddyfile | Matthew Holt | |
Adds header_up and header_down subdirectives to reverse_proxy | |||
2019-09-17 | fastcgi: Implement / redirect for index.php with php_fastcgi directive (#2754) | Matt Holt | |
* fastcgi: Implement / redirect for index.php with php_fastcgi directive See #2752 and https://caddy.community/t/v2-redirect-path-to-path-index-php-with-assets/6196?u=matt * caddyhttp: MatchNegate implements json.Marshaler * fastcgi: Add /index.php element to try_files matcher * fastcgi: Make /index.php redirect permanent | |||
2019-09-14 | reverse_proxy: Close idle connections on module unload | Matthew Holt | |
2019-09-14 | Eliminate some TODOs | Matthew Holt | |
2019-09-14 | reverse_proxy: Ability to mutate headers; set upstream placeholders | Matthew Holt | |
2019-09-11 | reverseproxy: Fix host and port on requests; fix Caddyfile parser | Matthew Holt | |
2019-09-11 | reverseproxy: Add 'tls' option to enable HTTPS with HTTP transport | Matthew Holt | |
2019-09-10 | caddyfile: Improve Dispenser.NextBlock() to support nesting | Matthew Holt | |
2019-09-10 | New 'php_fastcgi' directive for convenient PHP+FastCGI reverse proxy | Matthew Holt | |
2019-09-10 | fastcgi: Make EnvVars a map instead of a slice | Matthew Holt | |
2019-09-09 | Migrate some selection policy tests over to v2 | Matthew Holt | |
2019-09-09 | reverse_proxy: Caddyfile integration (and fix blocks in Dispenser) | Matthew Holt | |
2019-09-06 | Various fixes/tweaks to HTTP placeholder variables and file matching | Matthew Holt | |
- Rename http.var.* -> http.vars.* to be more consistent - Prefixing a path matcher with * now invokes simple suffix matching - Handlers and matchers that need a root path default to {http.vars.root} - Clean replacer output on the file matcher's file selection suffix | |||
2019-09-06 | fastcgi: Use request context as base, not a new one | Matthew Holt | |
2019-09-05 | fastcgi: Set default root path; add interface guards | Matthew Holt | |
2019-09-05 | Add original URI to request context; implement into fastcgi env | Matthew Holt | |
2019-09-05 | Reconcile upstream dial addresses and request host/URL information | Matthew Holt | |
My goodness that was complicated Blessed be request.Context Sort of | |||
2019-09-03 | reverse_proxy: Ignore context.Canceled errors | Matthew Holt | |
These happen when downstream clients cancel the request, but that's not our problem nor a failure in our end | |||
2019-09-03 | Integrate circuit breaker modules with reverse proxy | Matthew Holt | |
2019-09-03 | Some cleanup and godoc | Matthew Holt | |
2019-09-03 | reverse_proxy: Implement remaining TLS config for proxy to backend | Matthew Holt | |
2019-09-03 | reverse_proxy: Implement active health checks | Matthew Holt | |
2019-09-02 | reverse_proxy: WIP refactor and support for FastCGI | Matthew Holt | |
2019-08-21 | Refactor Caddyfile adapter and module registration | Matthew Holt | |
Use piles from which to draw config values. Module values can return their name, so now we can do two-way mapping from value to name and name to value; whereas before we could only map name to value. This was problematic with the Caddyfile adapter since it receives values and needs to know the name to put in the config. | |||
2019-08-09 | Fix module-related errors | Matthew Holt | |
2019-08-09 | Implement config adapters and beginning of Caddyfile adapter | Matthew Holt | |
Along with several other changes, such as renaming caddyhttp.ServerRoute to caddyhttp.Route, exporting some types that were not exported before, and tweaking the caddytls TLS values to be more consistent. Notably, we also now disable automatic cert management for names which already have a cert (manually) loaded into the cache. These names no longer need to be specified in the "skip_certificates" field of the automatic HTTPS config, because they will be skipped automatically. | |||
2019-07-12 | Get module name at runtime, and tidy up modules | Matthew Holt | |
2019-07-11 | Rename handler modules to use http.handlers namespace | Matthew Holt | |