Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-09-13 | headers: Add ability to replace substrings in header fields | Matthew Holt | |
This will probably be useful so the proxy can rewrite header values. | |||
2019-09-13 | encode: Fix bug where default status code was being written | Matthew Holt | |
for small responses. See https://caddy.community/t/v2-permanent-redirect-prompt/6190?u=matt | |||
2019-09-13 | http: Consider wildcards when evaluating automatic HTTPS | Matthew Holt | |
2019-09-12 | tls: Do away with SetDefaults which did nothing useful | Matthew Holt | |
CertMagic uses the same defaults for us | |||
2019-09-11 | reverseproxy: Fix host and port on requests; fix Caddyfile parser | Matthew Holt | |
2019-09-11 | http: Set Alt-Svc header if experimental HTTP3 server is enabled | Matthew Holt | |
2019-09-11 | headers: New 'request_header' directive; handle Host header specially | Matthew Holt | |
Before this change, only response headers could be manipulated with the Caddyfile's 'header' directive. Also handle the request Host header specially, since the Go standard library treats it separately from the other header fields... | |||
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 | rewrite: Caddyfile directive should always invoke a rehandle | Matthew Holt | |
This is unless each route's matcher is dynamically executed after previous handlers... | |||
2019-09-10 | fastcgi: Make EnvVars a map instead of a slice | Matthew Holt | |
2019-09-10 | Experimental IETF-standard HTTP/3 support (known issue exists) (#2727) | Matt Holt | |
* Begin WIP integration of HTTP/3 support * http3: Set actual Handler, make fakeClosePacketConn type for UDP sockets Also use latest quic-go for ALPN fix * Manually keep track of and close HTTP/3 listeners * Update quic-go after working through some http3 bugs * Fix go mod * Make http3 optional for now | |||
2019-09-10 | Fix build (sigh) | Matthew Holt | |
2019-09-09 | Merge pull request #2737 from caddyserver/fastcgi (reverse proxy!) | Matt Holt | |
v2: Refactor reverse proxy and add FastCGI support | |||
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-09 | Log when auto HTTPS or auto HTTP->HTTPS redirects are disabled | Matthew Holt | |
2019-09-09 | file_server: Enforce URL canonicalization (closes #2741) | Matthew Holt | |
2019-09-07 | Fix build (#2740) | Ingo Gottwald | |
Build was broken with commit 50961ec. | |||
2019-09-06 | Header matchers: allow matching presence of header with empty list | Matthew Holt | |
2019-09-06 | File matcher enforces trailing-slash convention to match dirs/files | Matthew Holt | |
2019-09-06 | Fix Schrodinger's file existence check in file matcher | Matthew Holt | |
See: https://stackoverflow.com/a/12518877/1048862 For example, trying to check the existence of "/www/index.php/index.php" fails but not with an os.IsNotExist()-type error. So we have to assume that a file that cannot be successfully stat'ed at all does not exist. | |||
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-03 | Initial implementation of TLS client authentication (#2731) | Alexandre Stein | |
* Add support for client TLS authentication Signed-off-by: Alexandre Stein <alexandre_stein@interlab-net.com> * make and use client authentication struct * force StrictSNIHost if TLSConnPolicies is not empty * Implement leafs verification * Fixes issue when using multiple verification * applies the comments from maintainers * Apply comment * Refactor/cleanup initial TLS client auth implementation | |||
2019-09-02 | reverse_proxy: WIP refactor and support for FastCGI | Matthew Holt | |
2019-08-27 | Add query_string to HTTP replacer and use it for try_files | Matthew Holt | |
2019-08-22 | Fix SIV where /v2 was missing from caddyfile adapter work (#2721) | Mohammed Al Sahaf | |
2019-08-21 | file_server: Automatically hide all involved Caddyfiles | 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-08-07 | Part 1: Optimize using compiler's inliner (#2687) | Dominik Braun | |
* optimized functions for inlining * added note regarding ResponseWriterWrapper * optimzed browseWrite* methods for FileServer * created benchmarks for comparison * creating browseListing instance in each function * created benchmarks for openResponseWriter * removed benchmarks of old implementations * implemented sync.Pool for byte buffers * using global sync.Pool for writing JSON/HTML | |||
2019-07-16 | Performance improvements to Replacer implementation (placeholders) (#2674) | Matt Holt | |
Closes #2673 | |||
2019-07-15 | Minor tweaks | Matthew Holt | |
2019-07-15 | mod: Use blackfriday's standard v2 module import path | Matthew Holt | |
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-11 | Fix rehandling bug | Matthew Holt | |
2019-07-11 | Add error & subroute handlers; weakString; other minor handler changes | Matthew Holt | |
2019-07-09 | Flatten HTTP handler config (#2662) | Matthew Holt | |
Differentiating middleware and responders has one benefit, namely that it's clear which module provides the response, but even then it's not a great advantage. Linear handler config makes a little more sense, giving greater flexibility and simplifying the core a bit, even though it's slightly awkward that handlers which are responders may not use the 'next' handler that is passed in at all. |