summaryrefslogtreecommitdiff
path: root/modules/caddyhttp
AgeCommit message (Collapse)Author
2023-07-11caddytls: Reuse certificate cache through reloads (#5623)Matt Holt
* caddytls: Don't purge cert cache on config reload * Update CertMagic This actually avoids reloading managed certs from storage when already in the cache, d'oh. * Fix bug; re-implement HasCertificateForSubject * Update go.mod: CertMagic tag
2023-07-08reverseproxy: Pointer receiverMatthew Holt
This avoids copying the Upstream, which has an atomically-accessed value in it.
2023-07-08caddyhttp: Trim dot/space only on Windows (fix #5613)Matthew Holt
Follow-up to #2917. Path matcher needs to trim dots and spaces but only on Windows.
2023-06-22reverseproxy: Honor `tls_except_port` for active health checks (#5591)Francis Lavoie
2023-06-20reverseproxy: weighted_round_robin load balancing policy (#5579)Saber Haj Rabiee
* added weighted round robin algorithm to load balancer * added an adapt integration test for wrr and fixed a typo * changed args format to Caddyfile args convention * added provisioner and validator for wrr * simplified the code and improved doc
2023-06-19reverseproxy: Experimental streaming timeouts (#5567)mmm444
* reverseproxy: WIP streaming timeouts * More verbose logging by using the child logger * reverseproxy: Implement streaming timeouts * reverseproxy: Refactor cleanup * reverseproxy: Avoid **time.Timer --------- Co-authored-by: Francis Lavoie <lavofr@gmail.com>
2023-06-16chore: remove refs of deprecated io/ioutil (#5576)guangwu
2023-06-15headers: Allow `>` to defer shortcut for replacements (#5574)Francis Lavoie
2023-06-13caddyhttp: Support custom network for HTTP/3 (#5573)Dominik Roos
Allow registering a custom network mapping for HTTP/3. This is useful if the original network for HTTP/1.1 and HTTP/2 is not a standard `unix`, `tcp4`, or `tcp6` network. To keep backwards compatibility, we fall back to `udp` if the original network is not registered in the mapping. Fixes #5555
2023-06-12reverseproxy: Fix parsing of source IP in case it's an ipv6 address (#5569)Corin Langosch
2023-06-05fileserver: browse: Better grid layout (#5564)365cent
* feat: better implementation of grid layout * fix: vertical alignment
2023-05-26templates: Add `readFile` action that does not evaluate templates (#5553)kassienull
* Create an includeRaw template function to include a file without parsing it as a template. Some formatting fixes * Rename to readFile, various docs adjustments --------- Co-authored-by: Francis Lavoie <lavofr@gmail.com>
2023-05-22fileserver: Don't set Etag if mtime is 0 or 1 (close #5548) (#5550)Matt Holt
2023-05-20fileserver: browse: minor tweaks for grid view, dark mode (#5545)pistasjis
* Make grid entries take up full width on mobile and fix breadcrumb color issue in dark mode Signed-off-by: Pistasj <odyssey346@disroot.org> * Do mholt's suggestions Signed-off-by: Pistasj <odyssey346@disroot.org> --------- Signed-off-by: Pistasj <odyssey346@disroot.org>
2023-05-20fileserver: Only set Etag if not already set (fix #5546) (#5547)Charles Duffy
2023-05-19fileserver: Fix file browser breadcrumb font (#5543)pistasjis
Signed-off-by: Pistasj <odyssey346@disroot.org>
2023-05-19caddyhttp: Fix h3 shutdown (#5541)WeidiDeng
* swap h3server close and listener close, avoid quic-listener not closing * fix typo
2023-05-19fileserver: More filetypes for browse iconsMatthew Holt
2023-05-19fileserver: Fix file browser footer in grid mode (#5536)pistasjis
* Fix file browser footer in grid Signed-off-by: Odyssey <odyssey346@disroot.org> * Fix file browser footer while in grid mode Signed-off-by: Pistasj <odyssey346@disroot.org> * Do mholt's suggestions Signed-off-by: Odyssey <odyssey346@disroot.org> --------- Signed-off-by: Odyssey <odyssey346@disroot.org> Signed-off-by: Pistasj <odyssey346@disroot.org>
2023-05-16caddyhttp: Implement named routes, `invoke` directive (#5107)Francis Lavoie
* caddyhttp: Implement named routes, `invoke` directive * gofmt * Add experimental marker * Adjust route compile comments
2023-05-16rewrite: use escaped path, fix #5278 (#5504)Tran Phong
* use escaped path while rewriting Signed-off-by: TP-O <letranphong2k1@gmail.com> * restore line break --------- Signed-off-by: TP-O <letranphong2k1@gmail.com>
2023-05-16headers: Add > Caddyfile shortcut for enabling defer (#5535)Francis Lavoie
2023-05-15reverseproxy: Expand port ranges to multiple upstreams in CLI + Caddyfile ↵Francis Lavoie
(#5494) * reverseproxy: Expand port ranges to multiple upstreams in CLI + Caddyfile * Add clarifying comment
2023-05-15fileserver: Use EscapedPath for browse (#5534)Matt Holt
* fileserver: Use EscapedPath for browse Fix #5143 * Fixes if filter element is not present * Remove extraneous line
2023-05-15caddyhttp: Refactor cert Managers (fix #5415) (#5533)Matt Holt
2023-05-11caddyhttp: Add a getter for Server.name (#5531)jjiang-stripe
2023-05-05reverseproxy: Optimize base case for least_conn and random_choose policies ↵Francis Lavoie
(#5487) When only a single request has the least amount of requests, there's no need to compute a random number, because the modulo of 1 will always be 0 anyways.
2023-05-05reverseproxy: Fix active health check header canonicalization, refactor (#5446)Francis Lavoie
2023-05-05reverseproxy: Add `fallback` for some policies, instead of always random (#5488)Francis Lavoie
2023-05-04fastcgi: Fix `capture_stderr` (#5515)eanavitarte
2023-05-03acmeserver: Configurable `resolvers`, fix smallstep deprecations (#5500)Francis Lavoie
* acmeserver: Configurable `resolvers`, fix smallstep deprecations * Improve default net/port * Update proxy resolvers parsing to use the new function * Update listeners.go Co-authored-by: itsxaos <33079230+itsxaos@users.noreply.github.com> --------- Co-authored-by: itsxaos <33079230+itsxaos@users.noreply.github.com>
2023-04-27logging: Add traceID field to access logs when tracing is active (#5507)Dave Henderson
Co-authored-by: Francis Lavoie <lavofr@gmail.com>
2023-04-26caddyhttp: Impl `ResponseWriter.Unwrap()`, prep for Go 1.20's ↵Kévin Dunglas
`ResponseController` (#5509) * feat: add support for ResponseWriter.Unwrap() * cherry-pick Francis' code
2023-04-25reverseproxy: Fix reinitialize upstream healthy metrics (#5498)Y.Horie
Co-authored-by: Dávid Szabó <david.szabo97@gmail.com>
2023-04-25fix some comments (#5508)cui fliter
Signed-off-by: cui fliter <imcusg@gmail.com>
2023-04-24templates: Add `fileStat` function (#5497)Stéphane Mourey
* Add isDir template function * Update modules/caddyhttp/templates/tplcontext.go Co-authored-by: Mohammed Al Sahaf <msaa1990@gmail.com> * Fix funcIsDir return value on error * Fix funcIsDir return false when root file system not specified * Add stat function, remove isDir function * Remove isDir function (really) * Rename stat to fileStat --------- Co-authored-by: Mohammed Al Sahaf <msaa1990@gmail.com>
2023-04-20caddyfile: Stricter parsing, error for brace on new line (#5505)Francis Lavoie
2023-04-19celmatcher: Implement `pkix.Name` conversion to string (#5492)Francis Lavoie
2023-04-10reverseproxy: Remove deprecated `lookup_srv` (#5396)Francis Lavoie
2023-04-10caddyhttp: Serve http2 when listener wrapper doesn't return *tls.Conn (#4929)WeidiDeng
* Serve http2 when listener wrapper doesn't return *tls.Conn * close conn when h2server serveConn returns * merge from upstream * rebase from latest * run New and Closed ConnState hook for h2 conns * go fmt * fix lint * Add comments * reorder import
2023-04-04reverseproxy: Add `query` and `client_ip_hash` lb policies (#5468)Francis Lavoie
2023-04-02fileserver: Add color-scheme meta tag (#5475)Kid
2023-03-31proxyprotocol: Add PROXY protocol support to `reverse_proxy`, add HTTP ↵Corin Langosch
listener wrapper (#5424) Co-authored-by: WeidiDeng <weidi_deng@icloud.com> Co-authored-by: Francis Lavoie <lavofr@gmail.com>
2023-03-31reverseproxy: Add mention of which half a copyBuffer err comes from (#5472)Francis Lavoie
Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
2023-03-27caddyhttp: Log request body bytes read (#5461)Francis Lavoie
2023-03-27log: Make sink logs encodable (#5441)Mohammed Al Sahaf
* log: make `sink` encodable * deduplicate logger fields * extract common fields into `BaseLog` and embed it into `SinkLog` * amend godoc on `BaseLog` and `SinkLog` * minor style change --------- Co-authored-by: Francis Lavoie <lavofr@gmail.com>
2023-03-27caddytls: Eval replacer on automation policy subjects (#5459)Francis Lavoie
Also renamed the field to SubjectsRaw, which can be considered a breaking change but I don't expect this to affect much.
2023-03-27headers: Support deleting all headers as first op (#5464)黑墨水鱼
* Delete all existing fields when fieldName is `*` * Rearrange deletion before addition in headers * Revert "Rearrange deletion before addition in headers" This reverts commit 1b50eeeccc92ccd660c7896d8283c7d9e5d1fcb0. * Treat deleting all headers as a special case * Apply suggestions from code review Co-authored-by: Matt Holt <mholt@users.noreply.github.com> --------- Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
2023-03-27reverseproxy: Header up/down support for CLI command (#5460)Francis Lavoie
2023-03-27caddyhttp: Determine real client IP if trusted proxies configured (#5104)Francis Lavoie
* caddyhttp: Determine real client IP if trusted proxies configured * Support customizing client IP header * Implement client_ip matcher, deprecate remote_ip's forwarded option