Age | Commit message (Collapse) | Author | |
---|---|---|---|
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 | |
2019-07-02 | go.mod: Append /v2 to module name; update all import paths | Matthew Holt | |
See https://github.com/golang/go/wiki/Modules#semantic-import-versioning | |||
2019-06-30 | Add license | Matthew Holt | |
2019-06-14 | Rename caddy2 -> caddy | Matthew Holt | |
Removes the version from the package name | |||
2019-06-07 | fix goroutine leak in healthcheckers | dev | |
2019-06-04 | Change import paths to GitHub package names | Matthew Holt | |
2019-05-22 | Export types and fields necessary to build configs (for config adapters) | Matthew Holt | |
Also flag most fields with 'omitempty' for JSON marshaling | |||
2019-05-21 | Module.New() does not need to return an error | Matthew Holt | |
2019-05-20 | move internal packages to pkg folder and update reverse proxy | dev | |
* set automatic https error type for cert-magic failures * add state to onload and unload methods * update reverse proxy to use Provision() and Cleanup() | |||
2019-05-16 | Architectural shift to using context for config and module state | Matthew Holt | |
2019-05-04 | Add reverse proxy | Matthew Holt | |