-
Notifications
You must be signed in to change notification settings - Fork 54
fix(deps): update module github.com/caddyserver/caddy/v2 to v2.10.0 #210
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
renovate
wants to merge
1
commit into
main
Choose a base branch
from
renovate/github.com-caddyserver-caddy-v2-2.x
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
|
ec8903f
to
8f6ee33
Compare
eba4672
to
8f6ee33
Compare
Closed
8f6ee33
to
b59c173
Compare
25d8d2a
to
1c8329e
Compare
1c8329e
to
56a8b8e
Compare
56a8b8e
to
0cf22db
Compare
d1224d7
to
0cf22db
Compare
a7cf762
to
0cf22db
Compare
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
None yet
0 participants
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v2.9.1
->v2.10.0
Release Notes
caddyserver/caddy (github.com/caddyserver/caddy/v2)
v2.10.0
Compare Source
Caddy 2.10 is here! Aside from bug fixes, this release features:
x25519mlkem768
cryptographic group by default.dns
global option in the Caddyfile, or in JSON config, it's thedns
parameter in thetls
app configuration.tls force_automate
in the Caddyfile. The experimentalauto_https prefer_wildcard
option has been removed.dns
config: Now that several components of Caddy configuration may affect DNS records (ACME challenges, ECH publication, etc.), there is a newdns
global option that can be used to specify your DNS provider config in a single place. This prevents repetition of credentials for servers where all the domains are managed by a single DNS provider.Thank you to the many contributors who have helped to make this possible! 🎉 🥳 🍾
Encrypted ClientHello (ECH) details
(This is a brief overview. We recommend reading the full documentation.)
Typically, server names (domain names, or "SNI") are sent in the plaintext ClientHello when establishing TLS connections. With ECH, the true server name is encrypted (and wrapped) by an "outer" ClientHello which has a generic SNI of your choosing. With many sites on the same server sharing the same outer SNI, both clients and the server have more privacy related to domain names.
Caddy implements fully automated ECH, meaning that it generates (and soon, rotates), publishes, and serves ECH configurations simply by specifying a DNS provider, and the outer/public domain name to use.
Fully automated ECH requires a DNS module built into your Caddy binary. In order for a client, such as a browser, to know it can use ECH, and what parameters to use, the server's ECH configuration must be published. This config includes the public name, cryptographic parameters, and a public key for encrypting the inner ClientHello. By convention, browsers read the standardized HTTPS-type DNS record containing a
ech
SvcParamKey. Caddy sets this DNS record for all domains being protected, but it needs that DNS provider module plugged in and configured in order to do this. If you are already using the DNS ACME challenge, you should already have a DNS provider plugged in. If you prefer to build Caddy from source with a DNS module, it's easy with xcaddy, for example:$ xcaddy build --with github.com/caddy-dns/cloudflare
The minimum config needed to enable ClientHello is also the recommended config, as it maximizes privacy benefits in most situations. You just need the
ech
global option and a DNS provider specified. Here's an example using Cloudflare as the nameserver:Caddyfile:
This protects all your sites (
example.com
in this case) behind the public name ofech.example.net
. (As another example, Cloudflare usescloudflare-ech.com
for all the sites it serves. We recommend choosing a single public domain and use it to protect all your sites.)The outer/public name you choose should point to your server. Caddy will obtain a certificate for this name in order to facilitate safe, reliable connections for clients when needed. Without a certificate, clients may be forced to connect insecurely, or fail to connect at all, in some cases, which not only leaves them vulnerable, but also risks exposing the names of your server's sites.
Caddy then uses the specified DNS provider to publish the ECH config(s) for your various site names. It creates (or augments) HTTPS-type records for the domains of your sites (not your ECH public name). Note that DNS provider modules are independently-maintained, and may not have been tested for compatibility with HTTPS-type records. Please contact your module's maintainers if you experience issues.
If you have more advanced configuration needs, you can use the JSON configuration (more details coming soon; for now, see #6862 or look at the source code; or use
caddy adapt
to convert a Caddyfile to JSON).Testing and verifying Encrypted ClientHello
First make sure Caddy runs successfully with ECH enabled (and a DNS module) in the config. You should see logs that it is generating an ECH config and publishing it to your domain name(s).
You will need to use a client that supports ECH. Some custom builds of
curl
do, and Firefox and modern Chrome-based browsers do as well, but you need to enable DNS-over-HTTPS or DNS-over-TLS first (since, obviously, querying DNS in plaintext for a protected domain name will expose the domain and defeat the purpose of ECH).If reusing an existing domain name, clear your DNS cache. Firefox has a way of doing this for its cache at
about:networking#dns
.Once you have a suitable client, use Wireshark to capture network packets as you load your site. You should see only the outer/public name as SNI (ServerName Indicator) values in the packet capture. If at any time you see the true site name, ECH is not working properly -- it could be a client or server issue. Before filing a bug, please try to pinpoint it as a server issue first. But definitely report server bugs! Thank you!
(Note that ECH is not automatically published for CNAME'd domains, and the domain must already have a record in the zone.)
Commits
Beta 1:
96c5c55
admin: fix index validation for PUT requests (#6824)3644ee3
build(deps): bump github.com/cloudflare/circl from 1.3.3 to 1.3.7 (#6876)eacd772
build(deps): bump github.com/go-jose/go-jose/v3 from 3.0.3 to 3.0.4 (#6871)9996d6a
build(deps): bump github.com/golang/glog from 1.2.2 to 1.2.4 (#6814)1115158
caddyhttp: ResponseRecorder sets stream regardless of 1xx8861eae
caddytest: Support configuration defaults override (#6850)d7764df
caddytls: Encrypted ClientHello (ECH) (#6862)a807fe0
caddytls: Enhance ECH documentationbc3d497
caddytls: Fix broken refactor7b8f350
caddytls: Fix sni_regexp matcher to obtain layer4 contexts (#6804)2c4295e
caddytls: Initial support for ACME profilesd7872c3
caddytls: Refactor sni matcher (#6812)172136a
caddytls: Support post-quantum key exchange mechanism X25519MLKEM768066d770
cmd: automatically set GOMEMLIMIT (#6809)1f35a8a
fastcgi: improve parsePHPFastCGI docs (#6779)22563a7
file_server: use the UTC timezone for modified time (#6830)cfc3af6
fix: update broken link to Ardan Labs (#6800)99073ea
go.mod: Upgrade CertMagic to v0.21.71641e76
go.mod: Upgrade dependencies0d7c639
go.mod: remove glog dependency (#6838)932dac1
logging: Always set fields func; fix #68299e0e5a4
logging: Fix crash if logging error is not HandlerError (#6777)904a0fa
reverse_proxy: re-add healthy upstreams metric (#6806)e7da3b2
reverseproxy: Via header (#6275)9283770
reverseproxy: ignore duplicate collector registration error (#6820)Beta 2:
f4432a3
caddyfile: add error handling for unrecognized subdirective/options in various modules (#6884)84364ff
caddypki: Remove lifetime check at Caddyfile parse (fix #6878)adbe7f8
caddytls: Only make DNS solver if not already set (fix #6880)d57ab21
caddytls: Pointer receiver (fix #6885)4ebcfed
caddytls: Reorder provisioning steps (fix #6877)a686f7c
cmd: Only set memory/CPU limits on run (fix #6879)1987620
cmd: Promote undo maxProcs func to caller220cd1c
reverseproxy: more comments about buffering and add new tests (#6778)Beta 3:
b3e692e
caddyfile: Fix formatting for backquote wrapped braces (#6903)55c89cc
caddytls: Convert AP subjects to punycode1f8dab5
caddytls: Don't publish ECH configs if other records don't exist782a3c7
caddytls: Don't publish HTTPS record for CNAME'd domain (fix #6922)49f9af9
caddytls: Fix TrustedCACerts backwards compatibility (#6889)e276994
caddytls: Initialize permission module earlier (fix #6901)39262f8
caddytls: Minor fixes for ECH1735730
core: add modularnetwork_proxy
support (#6399)86c620f
go.mod: Minor dependency upgradesaf2d33a
headers: Allow nil HeaderOps (fix #6893)dccf3d8
requestbody: Add set option to replace request body (#5795)2ac09fd
requestbody: Fix ContentLength calculation after body replacement (#6896)v2.10.0:
f297bc0
admin: Remove host checking for UDS (close #6832)0b2802f
build(deps): bump golang.org/x/net from 0.37.0 to 0.38.0 (#6960)5be77d0
caddyauth: Set authentication provider error in placeholder (#6932)b06a949
caddyhttp: Document side effect of HTTP/3 early data (close #6936)35c8c2d
caddytls: Add remote_ip to HTTP cert manager (close #6952)fb22a26
caddytls: Allow missing ECH meta file1bfa111
caddytls: Prefer managed wildcard certs over individual subdomain certs (#6959)ea77a9a
caddytls: Temporarily treat "" and "@" as equivalent for DNS publication5a6b2f8
events: Refactor; move Event into core, so core can emit events (#6930)137711a
go.mod: Upgrade acmez and certmagic9becf61
go.mod: Upgrade to libdns 1.0 beta APIs (requires upgraded DNS providers)6c38ae7
reverseproxy: Add valid Upstream to DialInfo in active health checks (#6949)What's Changed
archives.format_overrides.format
by @mohammed90 in https://github.com/caddyserver/caddy/pull/6807replace
for optional body replacement by @AdrienPensart in https://github.com/caddyserver/caddy/pull/5795network_proxy
support by @mohammed90 in https://github.com/caddyserver/caddy/pull/6399New Contributors
Full Changelog: caddyserver/caddy@v2.9.1...v2.10.0
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.