aboutsummaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2024-09-07http: ReponseWriter prefer ReadFrom if availableresponsewriter-readfromWeidiDeng
2024-09-03caddyhttp: Make route provisioning idempotent (#6558)Jesper Brix Rosenkilde
ref: https://github.com/caddyserver/caddy/issues/6551
2024-08-30reverse_proxy: add placeholder http.reverse_proxy.retries (#6553)Steffen Busch
* Add placeholder http.reverse_proxy.lb.retries * Renamed placeholder to http.reverse_proxy.retries
2024-08-30fileserver: browse: Configurable default sort (#6502)lollipopkit🏳️‍⚧️
* fileserver: add `sort` options * fix: test * fileserver: check options in `Provison` * fileserver: more obvious err alerts in sort options * fileserver: move `sort` to `browse` --------- Co-authored-by: Matt Holt <[email protected]>
2024-08-30rewrite: Only serialize request if necessary (#6541)Alexander Stecher
* Prevents serializing the caddy request if log level is not debug. * Extracts message to const.
2024-08-29ci: prepare syso files for windows embedding in release (#6406)WeidiDeng
* prepare syso files for windows embedding * don't specify main so version info will be embedded correctly --------- Co-authored-by: Mohammed Al Sahaf <[email protected]>
2024-08-27tls: use Go default kex for the moment that include PQC (#6542)Bas Westerbaan
By default Go 1.23 enables X25519Kyber768, a post-quantum key agreement method that is enabled by default on Chrome. Go 1.23 does not expose the CurveID, so we cannot add it by specifying it in CurvePreferences. The reason is that X25519Kyber768 is a preliminary key agreement that will be supplanted by X25519MLKEM768. For the moment there is value in enabling it. A consequence of this is that by default Caddy will enable support for P-384 and P-521. This PR also removes the special code to add support for X25519Kyber768 via the Cloudflare Go branch. Cf #6540
2024-08-23ci: build and test with Go 1.23 (#6526)Kévin Dunglas
* chore: build and test with Go 1.23 * ci: bump golangci-lint to v1.60 * fix: make properly wrap errors * ci: remove Go 1.21
2024-08-22reverseproxy: allow user to define source address (#6504)Mohammed Al Sahaf
* reverseproxy: allow user to define source address Closes #6503 Signed-off-by: Mohammed Al Sahaf <[email protected]> * reverse_proxy: caddyfile support for local_address Signed-off-by: Mohammed Al Sahaf <[email protected]> --------- Signed-off-by: Mohammed Al Sahaf <[email protected]>
2024-08-22caddyhttp: run `error` (msg) through replacer (#6536)Mohammed Al Sahaf
* error: run `error` (msg) through replacer Signed-off-by: Mohammed Al Sahaf <[email protected]> * fix integration test Signed-off-by: Mohammed Al Sahaf <[email protected]> --------- Signed-off-by: Mohammed Al Sahaf <[email protected]>
2024-08-22chore: Fix a typo (#6534)Cuckoo Chickoo
Fixes Typo in Docs
2024-08-22cmd: Use a factory to create the caddy root command (#6533)a
Co-authored-by: Francis Lavoie <[email protected]>
2024-08-21reverseproxy: Change errors writing the response to warning. (#6532)Jens-Uwe Mager
Most of the errors that can be seen here are write errors due to clients aborting the request from their side. Often seen ones include: * writing: ... write: broken pipe * writing: ... connection timed out * writing: http2: stream closed * writing: timeout... * writing: h3 error... Most of these errors are beyond of the control of caddy on the client side, probably nothing can be done on the server side. It still warrants researching when these errors occur very often, so a change in level from error to warn is better here to not polute the logs with errors in the normal case.
2024-08-19reverseproxy: Active health checks request body option (#6520)Jesper Brix Rosenkilde
* Add an option to specify the body used for active health checks * Replacer on request body
2024-08-18ci: don't exit early on error in remote CI machine (#6519)Mohammed Al Sahaf
2024-08-12cmd: ignore exec.ErrDot when starting caddy in background (#6512)WeidiDeng
Co-authored-by: Mohammed Al Sahaf <[email protected]>
2024-08-12Move PrivateRangesCIDR() back: add a pass-through function (#6514)vnxme
2024-08-12matchers: fix a regression in #6480 (#6510)vnxme
The context may have no replacer
2024-08-08reverseproxy: Disable keep alive for h2c requests (#6343)WeidiDeng
2024-08-08go.mod: update update golang/x/net (#6500)WeidiDeng
2024-08-07replacer: `{file.*}` global placeholder strips trailing newline (#6411)Steffen Busch
Co-authored-by: Kanashimia <[email protected]>
2024-08-07caddytls,caddyhttp: Placeholders for some TLS and HTTP matchers (#6480)vnxme
* Runtime placeholders for caddytls matchers (1/3): - remove IPs validation in UnmarshalCaddyfile * Runtime placeholders for caddytls matchers (2/3): - add placeholder replacement for IPs in Provision * Runtime placeholders for caddytls matchers (3/3): - add placeholder replacement for other strings * Runtime placeholders for caddyhttp matchers (1/1): - add placeholder replacement for IPs in Provision * Runtime placeholders for caddyhttp/caddytls matchers: - move PrivateRandesCIDR under internal
2024-08-06go.mod: update quic-go package (#6498)WeidiDeng
2024-08-05browse: Customizable default sort options (#6468)lollipopkit🏳️‍⚧️
* fileserver: add `sort` options * fix: test * fileserver: check options in `Provison` * fileserver: more obvious err alerts in sort options
2024-08-03proxyprotocol: Update WrapListener to use ConnPolicyFunc for PROXY protocol ↵Prakhar Awasthi
(#6485) * proxyprotocol : Update WrapListener to use ConnPolicyFunc for PROXY protocol support * proxyprotocol : Updated dependency pires/go-proxyproto to pseudo latest version
2024-07-27encode: flush already compressed data from the encoder (#6471)WeidiDeng
2024-07-27chore: update golangci config (#6479)Mohammed Al Sahaf
Signed-off-by: Mohammed Al Sahaf <[email protected]>
2024-07-24caddytls: Caddyfile support for TLS conn and cert sel policies (#6462)vnxme
* Caddyfile support for TLS custom certificate selection policy * Caddyfile support for TLS connection policy
2024-07-24caddytls: Caddyfile support for TLS handshake matchers (#6461)vnxme
* Caddyfile support for TLS handshake matchers: - caddytls.MatchLocalIP - caddytls.MatchRemoteIP - caddytls.MatchServerName * Caddyfile support for TLS handshake matchers: - fix imports order Co-authored-by: Francis Lavoie <[email protected]> --------- Co-authored-by: Francis Lavoie <[email protected]>
2024-07-22ci: correct `-tags nobadger` on binary build (#6470)June 🍓🦴
2024-07-18reverseproxy: Fix panic when using header-related flags (fix #6464)Matthew Holt
2024-07-15reverseproxy: add health_upstream subdirective (#6451)schultzie
* Add health_upstream Signed-off-by: Dylan Schultz <[email protected]> * Add health_upstream to caddyfile parsing * Add Active Upstream case for health checks * Update ignore health port comment Signed-off-by: Dylan Schultz <[email protected]> * Update Upstream json doc Signed-off-by: Dylan Schultz <[email protected]> * Update modules/caddyhttp/reverseproxy/healthchecks.go Co-authored-by: Francis Lavoie <[email protected]> * Use error rather than log for health_port override Signed-off-by: Dylan Schultz <[email protected]> * Add comment about port being ignore if using upstream Signed-off-by: Dylan Schultz <[email protected]> --------- Signed-off-by: Dylan Schultz <[email protected]> Co-authored-by: Francis Lavoie <[email protected]>
2024-07-12reverseproxy: Caddyfile support for health_method (#6454)Jesper Brix Rosenkilde
* Add Caddyfile support of setting active health check request method * Add integration test for active health check request method
2024-07-11reverseproxy: Configurable method for active health checks (#6453)Jesper Brix Rosenkilde
* Add option to set which HTTP method to use for active health checks * Default Method to GET if not set
2024-07-09reverseproxy: Add placeholder for networkAddr in active health check headers ↵schultzie
(#6450) Co-authored-by: Francis Lavoie <[email protected]>
2024-07-09fixed bug in resolving ip version in dynamic upstreams (#6448)Aziz Rmadi
2024-07-07browse: Exclude symlink target size from total, show arrow on size (#6412)Francis Lavoie
* fileserver: Exclude symlink target size from total, show arrow on size * Keep both totals * Linter doesn't like my spelling :( * Stop parallelizing tests for now * Update modules/caddyhttp/fileserver/browse.html * Minor renamings --------- Co-authored-by: Matthew Holt <[email protected]>
2024-07-07browse: fix Content-Security-Policy warnings in Firefox (#6443)Steffen Busch
* Remove 'strict-dynamic' + block-all-mixed-content * CSP: remove 'unsafe-inline' from script-src
2024-07-06browse: add Content-Security-Policy w/ nonce (#6425)Steffen Busch
* browse: add Content-Security-Policy w/ nonce * Add backward-compat values to script-src * Remove dummy "#" href from layout anchors
2024-07-06reverseproxy: Add placeholder for host in active health check headers (#6440)Francis Lavoie
2024-07-05caddyhttp: Reject 0-RTT early data in IP matchers and set Early-Data header ↵Matt Holt
when proxying (#6427) * caddyhttp: Reject 0-RTT early data in IP matchers and set Early-Data header when proxying See RFC 8470: https://httpwg.org/specs/rfc8470.html Thanks to Michael Wedl (@MWedl) at the University of Applied Sciences St. Poelten for reporting this. * Don't return value for {remote} placeholder in early data * Add Caddyfile support
2024-07-04encode: Don't compress already-compressed fonts (#6432)Kévin Dunglas
* fix: don't compress already compressed fonts * fix: remove WOFF
2024-07-03reverseproxy: Only log host is up status on change (fixes #6415) (#6419)klaxa
2024-07-03intercept: fix http.intercept.header.* placeholder (#6429)Kévin Dunglas
2024-06-28reverseproxy: Wire up TLS options for H3 transportMatthew Holt
2024-06-19fileserver: Remove newline characters from precomputed etags (#6394)Aziz Rmadi
* Removed newline characters from precomputed etags * Update modules/caddyhttp/fileserver/staticfiles.go --------- Co-authored-by: Matt Holt <[email protected]>
2024-06-18caddyhttp: Convert IDNs to ASCII when provisioning Host matcherMatthew Holt
2024-06-15reverseproxy: add Max-Age option to sticky cookie (#6398)Jason Yuan
* reverseproxy: add Max-Age option to sticky cookie * Update selectionpolicies.go Co-authored-by: Francis Lavoie <[email protected]> * Update selectionpolicies.go Co-authored-by: Francis Lavoie <[email protected]> --------- Co-authored-by: Francis Lavoie <[email protected]>
2024-06-14caddyfile: Pass blocks to `import` for snippets (#6130)a
* a * a * a * a * a * a
2024-06-12logging: set file mode when the file already exist (#6391)Ririsoft
101d3e7 introduced a configuration option to set the log file mode. This option was not taken into account if the file already exists, making users having to delete their logs to have new logs created with the right mode.