Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-11-30 | http: Don't listen 1 port beyond port range | Matthew Holt | |
2019-11-29 | http: Shorten regexp matcher placeholders; allow "=/" for simple matcher | Matthew Holt | |
2019-11-28 | http: path matcher supports exact matching with = prefix | Matthew Holt | |
2019-11-27 | http: header matcher supports fast prefix and suffix matching (#2888) | Matthew Holt | |
2019-11-27 | reverse_proxy: Add flush_interval to caddyfile syntax (#1460) | Matthew Holt | |
Also add godoc for Caddyfile syntax for file_server | |||
2019-11-18 | reverse_proxy: Fix invalid argument to Intn in RandomChoice selection | Matthew Holt | |
2019-11-16 | file_server: Use HTTPS port when a qualifying domain is specified | Matthew Holt | |
Also little comment cleanups | |||
2019-11-15 | file_server: Optional pass_thru mode | Matthew Holt | |
If enabled, will call the next handler in the chain instead of returning a 404. | |||
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 | http: Only enable access logs if configured | Matthew Holt | |
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-15 | Minor cleanups | Matthew Holt | |
2019-11-15 | http: Make path matcher case-insensitive | Matthew Holt | |
Adds tests for both the path matcher and host matcher for case insensitivity. If case sensitivity is required for the path, a regexp matcher can be used instead. This is the v2 equivalent fix of PR #2882. | |||
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-11 | http: Add response headers to access logs | Matthew Holt | |
2019-11-11 | http: Use permanent redirects for HTTP->HTTPS | Matthew Holt | |
2019-11-11 | logging: Support placeholders in level and filename (#2872) | Sarat Chandra | |
* Add support for placeholders in Config Fixes #2870 * Replace placeholders only in logging config. Placeholders in log level and filename incase of file output are replaced. * Add Provision to filewriter module for replacing placeholders | |||
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 | http: Eliminate allocation in cloneURL; add RemoteAddr to origRequest | Matthew Holt | |
2019-11-05 | reverse_proxy: Make HTTP versions configurable, don't set NextProtos | Matthew Holt | |
2019-11-04 | Prepare for beta 9 tag | 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-11-04 | http: Only log handler errors >= 500 | Matthew Holt | |
Errors in the 4xx range are client errors, and they don't need to be entered into the server's error logs. 4xx errors are still recorded in the access logs at the error level. | |||
2019-11-04 | cmd: Move module imports into standard packages | Matthew Holt | |
This makes it easier to make "standard" caddy builds, since you'll only need to add a single import to get all of Caddy's standard modules. There is a package for all of Caddy's standard modules (modules/standard) and a package for the HTTP app's standard modules only (modules/caddyhttp/standard). We still need to decide which of these, if not all of them, should be kept in the standard build. Those which aren't should be moved out of this repo. See #2780. | |||
2019-10-31 | http: Ensure server loggers are not nil (fixes #2849) | Matthew Holt | |
2019-10-31 | reverse_proxy: Fix panic for some CLI flag values (closes #2848) | Matthew Holt | |
2019-10-30 | http: Avoid panic if handler errors lack underlying error value | Matthew Holt | |
Fixes #2845 | |||
2019-10-30 | auth: Clean up basicauth | Matthew Holt | |
2019-10-29 | reverse_proxy: Structured logs | Matthew Holt | |
2019-10-29 | Remove unused fields from HandlerError | Matthew Holt | |
2019-10-29 | proxy: Forgot to commit import | Matthew Holt | |
2019-10-29 | caddyhttp: Fix nil pointer dereference | Matthew Holt | |
2019-10-29 | proxy: Enable HTTP/2 on transport to backend | Matthew Holt | |
2019-10-28 | cache: Make peer addresses configurable | 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-21 | tls: Make the on-demand rate limiter actually work | Matthew Holt | |
This required a custom rate limiter implementation in CertMagic | |||
2019-10-19 | rewrite: Options to strip prefix/suffix and issue redirects | Matthew Holt | |
Fixes #2011 | |||
2019-10-16 | tls: Asynchronous cert management at startup (uses CertMagic v0.8.0) | Matthew Holt | |
2019-10-16 | Minor enhancements/fixes to rewrite directive and template virt req's | Matthew Holt | |
2019-10-15 | v2: Make tests work on Windows (#2782) | Matt Holt | |
* file_server: Make tests work on Windows * caddyfile: Fix escaping when character is not escapable We only escape certain characters depending on inside or outside of quotes (mainly newlines and quotes). We don't want everyone to have to escape Windows file paths like C:\\Windows\\... but we can't drop the \ either if it's just C:\Windows\... | |||
2019-10-15 | v2: Project-and-CI-wide linter config (#2812) | Mohammed Al Sahaf | |
* v2: split golangci-lint configuration into its own file to allow code editors to take advantage of it * v2: simplify code * v2: set the correct lint output formatting * v2: invert the logic of linter's configuration of output formatting to allow the editor convenience over CI-specific customization. Customize the output format in CI by passing the flag. * v2: remove irrelevant golangci-lint config | |||
2019-10-15 | caddyhttp: Improve ResponseRecorder to buffer headers | Matthew Holt | |
2019-10-14 | caddyhttp: host labels placeholders endianness from right->left | Matthew Holt | |
https://caddy.community/t/labeln-placeholder-endian-issue/5366 (I thought we had this before but it must have gotten lost somewhere) | |||
2019-10-14 | caddyhttp: Support placeholders in MatchHost (#2810) | Pascal | |
* Replace global placeholders in host matcher * caddyhttp: Fix panic on MatchHost tests | |||
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 | |