Age | Commit message (Collapse) | Author | |
---|---|---|---|
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-18 | tls: Use IANA-standard cipher suite names | Matthew Holt | |
2019-07-18 | Fix DNS provider module unmarshaling (closes #2676) | Matthew Holt | |
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. | |||
2019-07-08 | Add path components to HTTP replacer | Matthew Holt | |
2019-07-08 | Move listen address functions into caddy package; fix unix bug | Matthew Holt | |
2019-07-07 | Fix error handling with Validate when loading modules (fixes #2658) | Matthew Holt | |
The return statement was improperly nested in context.go | |||
2019-07-05 | Little cleanups | Matthew Holt | |
2019-07-05 | acmemanager: Use storage module key "module" instead of "system" | 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-07-01 | tls: Enable TLS 1.3 by default; set sane defaults on tls.Config structs | Matthew Holt | |
2019-06-30 | encode: Add "Vary" response header | Matthew Holt | |
2019-06-30 | Add license | Matthew Holt | |
2019-06-29 | Fix encoder name bug; remove unused field in encode middleware struct | Matthew Holt | |
2019-06-28 | httpserver: Set default Server header | Matthew Holt | |
2019-06-27 | Use html/template for escaping by default | Matthew Holt | |
Allow HTML only with a few specific functions | |||
2019-06-27 | Implement etag; fix related bugs in encode and templates middlewares | Matthew Holt | |
2019-06-26 | Optionally enforce strict TLS SNI + HTTP Host matching, & misc. cleanup | Matthew Holt | |
We should look into a way to enable this by default when TLS client auth is configured for a server | |||
2019-06-26 | Enable skipping just certificate management for some auto HTTPS names | Matthew Holt | |
2019-06-26 | Refactor automatic HTTPS configuration; ability to skip certain names | Matthew Holt | |
2019-06-24 | caddytls: Support tags for manually-loaded certificates | Matthew Holt | |
2019-06-21 | Various bug fixes and minor improvements | Matthew Holt | |
- Fix static responder so it doesn't replace its own headers config, and instead replaces the actual response header values - caddyhttp.ResponseRecorder type optionally buffers response - Add interface guards to ensure regexp matchers get provisioned - Use default HTTP port if one is not explicitly set - Encode middleware writes status code 200 if not written upstream - Templates and markdown only try to execute on text responses - Static file server sets Content-Type based on file extension only (this whole thing -- MIME sniffing, etc -- needs more configurability) | |||
2019-06-21 | Oops | Matthew Holt | |