chore(deps): update dependency caddyserver/caddy to v2.3.0 #7

Merged
xoxys merged 1 commits from renovate/caddyserver-caddy-2.x into main 2021-01-01 13:08:48 +01:00
Member

This PR contains the following updates:

Package Update Change
caddyserver/caddy minor v2.2.1 -> v2.3.0

Release Notes

caddyserver/caddy

v2.3.0

Compare Source

Caddy 2.3 is the first web server to be able to get certificates from multiple issuers (for redundancy)! We've also optimized several things for large-scale deployments, as there are businesses using Caddy to serve tens of thousands of sites per instance.

The main highlights of this release include:

  • Multi-issuer support. Caddy can now get certificates from multiple issuers for redundancy; if one fails, another will be tried. Caddy's new defaults are Let's Encrypt and ZeroSSL. You can customize these, including adding local/self-signed certificates as a last resort if desired. Caddy is the first web server to support multiple issuers, offering unrivaled reliability for your site's HTTPS. It is the first ACME client to support multiple CA fallbacks.

  • Improved on-demand TLS. On-demand TLS is an operating mode by which certificate obtain/renew operations are triggered on a TLS handshake that requires them, rather than happening at config-load time. We've moved a lot of the processing to the background where possible (e.g. when an existing certificate is still usable) so more connections will finish their handshakes faster, and fewer handshakes will fail (however, you still need to watch the logs and fix the errors before it's too late). Several businesses we know of currently rely on this unique feature at a scale of tens of thousands of sites.

  • Support for alternate certificate chains. You can now customize which certificate chains to download from ACME servers that offer more than one.

  • New map handler is ready for production use. (Caddyfile docs) It's been in Caddy for a few versions now but it's finally ready for production, with enhanced efficiency and functionality. We have been using this handler with a customer in production for a while now, on an instance that is handling thousands of sites.

  • Customize servers and listeners with the Caddyfile. The Caddyfile structure is oriented around sites for convenience, so customizing servers has not been possible until now. You can now use global options to configure servers and their listeners (for example, protocol options, socket read options, and more) without having to use JSON config.

Of course, there are also numerous bug fixes and other enhancements, including bringing more configuration options into the Caddyfile. Thank you to everyone who contributed code, code reviews, or participated in the pre-releases.

There are a couple of minor breaking changes, but one was not documented and the other has always been an experimental feature:

  • ⚠️ The remote_ip matcher no longer reads the X-Forwarded-For header by default. This was undocumented behavior, and an unsafe default. If you happened to be relying on this, please enable forwarded (in the Caddyfile, just put forwarded as the first argument before the ranges) to maintain that behavior. Remember that headers are very easy to spoof.

  • ⚠️ The experimental_http3 global option in the Caddyfile has been replaced with global server options, one of which is the experimental_http3 protocol. Docs will be updated shortly. This is still an unstable feature until HTTP/3 is finalized and our upstream QUIC/H3 lib is stable and we've decided to keep HTTP/3 enabled in the core by default.

Along with this release, we've taken the opportunity to consolidate our documentation regarding getting/installing Caddy. There is no more /docs/download page, instead it was combined with /docs/install which better organizes the various official and unofficial ways to get Caddy. (To be clear, our download page at /download is still available.) Also, we started using Cloudsmith for our Debian packaging -- they're donating this service to our open source project and their team has been a pleasure to work with.

This release is the work of at least 20 contributors. Thank you!

Changelog

c5197f5 acme_server: fix reload of acme database (#​3874)
06ba006 acme_server: switch to bbolt storage (#​3868)
7a3d9d8 basicauth: Minor internal improvements (#​3861)
937ec34 caddyauth: Prevent user enumeration by timing
4cff36d caddyauth: Use buffered channel passed to signal.Notify (#​3895)
3d0e046 caddyauth: Use structured log
c6dec30 caddyfile: Add support for env var defaults; add tests (#​3682)
635f075 caddyfile: Fix minor bug in formatter
63bda6a caddyhttp: Clean up internal auto-HTTPS redirect code
b8a799d caddyhttp: Document that remote_ip reads X-Forwarded-For header
4fc5707 caddyhttp: Fix header matcher when using nil
966d5e6 caddyhttp: Merge header matchers in Caddyfile (#​3832)
b4f49e2 caddyhttp: Merge query matchers in Caddyfile (#​3839)
1438e4d caddyhttp: New idle_timeout default of 5m
9157051 caddyhttp: Optimize large host matchers
deedf8a caddyhttp: Optionally use forwarded IP for remote_ip matcher
349457c caddyhttp: Return error if error handling error
b0f8fc7 caddytls: Configure trusted CAs from PEM files (#​3882)
e384f07 caddytls: Improve alt chain preference settings
95af426 caddytls: Support ACME alt cert chain preferences
13781e6 caddytls: Support multiple issuers (#​3862)
e7a5a38 cmd: add ability to read config from stdin (#​3898)
eda9a1b fastcgi: Add timeouts support to Caddyfile adapter (#​3842)
6e9ac24 fastcgi: Set PATH_INFO to file matcher remainder as fallback (#​3739)
7d7434c fileserver: Add debug logging
d8bcf5b fileserver: Fix "go up" links in browse listings (closes #​3942)
8d038ca fileserver: Improve and clarify file hiding logic (#​3844)
0a7721d fileserver: Preserve transformed root (fix #​3838)
b6e96d6 go.mod: Update CertMagic
a748151 go.mod: Update CertMagic (fix #​3911)
1e480b8 go.mod: update quic-go to v0.19.2 (#​3880)
5643dc3 go.mod: update quic-go to v0.19.3 (#​3901)
31fbcd7 go.mod: Upgrade some dependencies
a26f70a headers: Fix Caddyfile parsing with request matcher (#​3892)
b0d5c2c headers: Support default header values in Caddyfile with '?' (#​3807)
7c28ecb httpcaddyfile: Add certificate_pem placeholder short, add to godoc (#​3846)
3cfefeb httpcaddyfile: Configure servers via global options (#​3836)
7e71915 httpcaddyfile: Decrement counter when removing conn policy (fix #​3906)
03d853e httpcaddyfile: Fix test on Windows
b6686a5 httpcaddyfile: Improve AP logic with OnDemand
63afffc httpcaddyfile: Proper log config with catch-all blocks (fix #​3878)
db4f1c0 httpcaddyfile: Revise automation policy generation (#​3824)
c898a37 httpcaddyfile: support matching headers that do not exist (#​3909)
dd26875 logging: Fix for IP filtering
ebc278e metrics: allow disabling OpenMetrics negotiation (#​3944)
670b723 requestbody: Add Caddyfile support (#​3859)
99b8f44 reverse_proxy: Fix random_choose selection policy (#​3811)
4a641f6 reverseproxy: Add Caddyfile scheme shorthand for h2c (#​3629)
b660993 reverseproxy: Add max_idle_conns_per_host; fix godocs (#​3829)
53aa60a reverseproxy: Handle "operation was canceled" errors (#​3816)
6e0849d reverseproxy: Implement cookie hash selection policy (#​3809)
9605853 reverseproxy: Logging for streaming and upgrades (#​3689)
132525d reverseproxy: Minor lint fixes
860cc6a reverseproxy: Wire up some http transport options in Caddyfile (#​3843)
c9fdff9 reverseproxy: caddyfile: Don't add port if upstream has placeholder (#​3819)
6ea6f3e reverseproxy: fix random hangs on http/2 requests with server push (#​3875)


Renovate configuration

📅 Schedule: 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.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Update | Change | |---|---|---| | [caddyserver/caddy](https://github.com/caddyserver/caddy) | minor | `v2.2.1` -> `v2.3.0` | --- ### Release Notes <details> <summary>caddyserver/caddy</summary> ### [`v2.3.0`](https://github.com/caddyserver/caddy/releases/v2.3.0) [Compare Source](https://github.com/caddyserver/caddy/compare/v2.2.1...v2.3.0) Caddy 2.3 is the first web server to be able to get certificates from multiple issuers (for redundancy)! We've also optimized several things for large-scale deployments, as there are businesses using Caddy to serve tens of thousands of sites per instance. The main highlights of this release include: - **Multi-issuer support.** Caddy can now get certificates from [multiple issuers for redundancy](https://caddyserver.com/docs/automatic-https#issuer-fallback); if one fails, another will be tried. Caddy's new defaults are Let's Encrypt and ZeroSSL. You can customize these, including adding local/self-signed certificates as a last resort if desired. Caddy is the first web server to support multiple issuers, offering unrivaled reliability for your site's HTTPS. It is the first ACME client to support multiple CA fallbacks. - **Improved on-demand TLS.** [On-demand TLS](https://caddyserver.com/docs/automatic-https#on-demand-tls) is an operating mode by which certificate obtain/renew operations are triggered on a TLS handshake that requires them, rather than happening at config-load time. We've moved a lot of the processing to the background where possible (e.g. when an existing certificate is still usable) so more connections will finish their handshakes faster, and fewer handshakes will fail (however, you still need to watch the logs and fix the errors before it's too late). Several businesses we know of currently rely on this unique feature at a scale of tens of thousands of sites. - **Support for alternate certificate chains.** You can now [customize which certificate chains to download](https://caddyserver.com/docs/json/apps/tls/automation/policies/issuer/acme/preferred_chains/) from ACME servers that offer more than one. - **[New `map` handler](https://caddyserver.com/docs/modules/http.handlers.map) is ready for production use.** ([Caddyfile docs](https://caddyserver.com/docs/caddyfile/directives/map)) It's been in Caddy for a few versions now but it's finally ready for production, with enhanced efficiency and functionality. We have been using this handler with a customer in production for a while now, on an instance that is handling thousands of sites. - **[Customize servers and listeners](https://caddyserver.com/docs/caddyfile/options#server-options) with the Caddyfile.** The Caddyfile structure is oriented around sites for convenience, so customizing servers has not been possible until now. You can now use global options to configure servers and their listeners (for example, protocol options, socket read options, and more) without having to use JSON config. Of course, there are also numerous bug fixes and other enhancements, including bringing more configuration options into the Caddyfile. Thank you to everyone who contributed code, code reviews, or participated in the pre-releases. There are a couple of minor breaking changes, but one was not documented and the other has always been an experimental feature: - :warning: The `remote_ip` matcher no longer reads the X-Forwarded-For header by default. This was undocumented behavior, and an unsafe default. If you happened to be relying on this, please enable `forwarded` (in the Caddyfile, just put `forwarded` as the first argument before the ranges) to maintain that behavior. Remember that headers are very easy to spoof. - :warning: The `experimental_http3` global option in the Caddyfile has been replaced with [global server options](https://github.com/caddyserver/caddy/commit/3cfefeb0f71d54f1d9a76a63be7b97d0943c88ef), one of which is the `experimental_http3` protocol. Docs will be updated shortly. This is still an unstable feature until HTTP/3 is finalized and our upstream QUIC/H3 lib is stable and we've decided to keep HTTP/3 enabled in the core by default. Along with this release, we've taken the opportunity to consolidate our documentation regarding getting/installing Caddy. There is no more `/docs/download` page, instead it was combined with [`/docs/install`](https://caddyserver.com/docs/install) which better organizes the various official and unofficial ways to get Caddy. (To be clear, our [download page at `/download`](https://caddyserver.com/download) is still available.) Also, we started using Cloudsmith for our Debian packaging -- they're donating this service to our open source project and their team has been a pleasure to work with. This release is the work of at least 20 contributors. Thank you! #### Changelog [`c5197f5`](https://github.com/caddyserver/caddy/commit/c5197f5) acme_server: fix reload of acme database ([#&#8203;3874](https://github.com/caddyserver/caddy/issues/3874)) [`06ba006`](https://github.com/caddyserver/caddy/commit/06ba006) acme_server: switch to bbolt storage ([#&#8203;3868](https://github.com/caddyserver/caddy/issues/3868)) [`7a3d9d8`](https://github.com/caddyserver/caddy/commit/7a3d9d8) basicauth: Minor internal improvements ([#&#8203;3861](https://github.com/caddyserver/caddy/issues/3861)) [`937ec34`](https://github.com/caddyserver/caddy/commit/937ec34) caddyauth: Prevent user enumeration by timing [`4cff36d`](https://github.com/caddyserver/caddy/commit/4cff36d7) caddyauth: Use buffered channel passed to signal.Notify ([#&#8203;3895](https://github.com/caddyserver/caddy/issues/3895)) [`3d0e046`](https://github.com/caddyserver/caddy/commit/3d0e0462) caddyauth: Use structured log [`c6dec30`](https://github.com/caddyserver/caddy/commit/c6dec30) caddyfile: Add support for env var defaults; add tests ([#&#8203;3682](https://github.com/caddyserver/caddy/issues/3682)) [`635f075`](https://github.com/caddyserver/caddy/commit/635f075) caddyfile: Fix minor bug in formatter [`63bda6a`](https://github.com/caddyserver/caddy/commit/63bda6a0) caddyhttp&#x3A; Clean up internal auto-HTTPS redirect code [`b8a799d`](https://github.com/caddyserver/caddy/commit/b8a799df) caddyhttp&#x3A; Document that remote_ip reads X-Forwarded-For header [`4fc5707`](https://github.com/caddyserver/caddy/commit/4fc5707) caddyhttp&#x3A; Fix header matcher when using nil [`966d5e6`](https://github.com/caddyserver/caddy/commit/966d5e6) caddyhttp&#x3A; Merge header matchers in Caddyfile ([#&#8203;3832](https://github.com/caddyserver/caddy/issues/3832)) [`b4f49e2`](https://github.com/caddyserver/caddy/commit/b4f49e2) caddyhttp&#x3A; Merge query matchers in Caddyfile ([#&#8203;3839](https://github.com/caddyserver/caddy/issues/3839)) [`1438e4d`](https://github.com/caddyserver/caddy/commit/1438e4d) caddyhttp&#x3A; New idle_timeout default of 5m [`9157051`](https://github.com/caddyserver/caddy/commit/9157051f) caddyhttp&#x3A; Optimize large host matchers [`deedf8a`](https://github.com/caddyserver/caddy/commit/deedf8ab) caddyhttp&#x3A; Optionally use forwarded IP for remote_ip matcher [`349457c`](https://github.com/caddyserver/caddy/commit/349457c) caddyhttp&#x3A; Return error if error handling error [`b0f8fc7`](https://github.com/caddyserver/caddy/commit/b0f8fc7) caddytls: Configure trusted CAs from PEM files ([#&#8203;3882](https://github.com/caddyserver/caddy/issues/3882)) [`e384f07`](https://github.com/caddyserver/caddy/commit/e384f07) caddytls: Improve alt chain preference settings [`95af426`](https://github.com/caddyserver/caddy/commit/95af426) caddytls: Support ACME alt cert chain preferences [`13781e6`](https://github.com/caddyserver/caddy/commit/13781e6) caddytls: Support multiple issuers ([#&#8203;3862](https://github.com/caddyserver/caddy/issues/3862)) [`e7a5a38`](https://github.com/caddyserver/caddy/commit/e7a5a385) cmd: add ability to read config from stdin ([#&#8203;3898](https://github.com/caddyserver/caddy/issues/3898)) [`eda9a1b`](https://github.com/caddyserver/caddy/commit/eda9a1b) fastcgi: Add timeouts support to Caddyfile adapter ([#&#8203;3842](https://github.com/caddyserver/caddy/issues/3842)) [`6e9ac24`](https://github.com/caddyserver/caddy/commit/6e9ac248) fastcgi: Set PATH_INFO to file matcher remainder as fallback ([#&#8203;3739](https://github.com/caddyserver/caddy/issues/3739)) [`7d7434c`](https://github.com/caddyserver/caddy/commit/7d7434c) fileserver: Add debug logging [`d8bcf5b`](https://github.com/caddyserver/caddy/commit/d8bcf5b) fileserver: Fix "go up" links in browse listings (closes [#&#8203;3942](https://github.com/caddyserver/caddy/issues/3942)) [`8d038ca`](https://github.com/caddyserver/caddy/commit/8d038ca) fileserver: Improve and clarify file hiding logic ([#&#8203;3844](https://github.com/caddyserver/caddy/issues/3844)) [`0a7721d`](https://github.com/caddyserver/caddy/commit/0a7721d) fileserver: Preserve transformed root (fix [#&#8203;3838](https://github.com/caddyserver/caddy/issues/3838)) [`b6e96d6`](https://github.com/caddyserver/caddy/commit/b6e96d6) go.mod: Update CertMagic [`a748151`](https://github.com/caddyserver/caddy/commit/a7481516) go.mod: Update CertMagic (fix [#&#8203;3911](https://github.com/caddyserver/caddy/issues/3911)) [`1e480b8`](https://github.com/caddyserver/caddy/commit/1e480b8) go.mod: update quic-go to v0.19.2 ([#&#8203;3880](https://github.com/caddyserver/caddy/issues/3880)) [`5643dc3`](https://github.com/caddyserver/caddy/commit/5643dc3f) go.mod: update quic-go to v0.19.3 ([#&#8203;3901](https://github.com/caddyserver/caddy/issues/3901)) [`31fbcd7`](https://github.com/caddyserver/caddy/commit/31fbcd74) go.mod: Upgrade some dependencies [`a26f70a`](https://github.com/caddyserver/caddy/commit/a26f70a) headers: Fix Caddyfile parsing with request matcher ([#&#8203;3892](https://github.com/caddyserver/caddy/issues/3892)) [`b0d5c2c`](https://github.com/caddyserver/caddy/commit/b0d5c2c) headers: Support default header values in Caddyfile with '?' ([#&#8203;3807](https://github.com/caddyserver/caddy/issues/3807)) [`7c28ecb`](https://github.com/caddyserver/caddy/commit/7c28ecb) httpcaddyfile: Add certificate_pem placeholder short, add to godoc ([#&#8203;3846](https://github.com/caddyserver/caddy/issues/3846)) [`3cfefeb`](https://github.com/caddyserver/caddy/commit/3cfefeb) httpcaddyfile: Configure servers via global options ([#&#8203;3836](https://github.com/caddyserver/caddy/issues/3836)) [`7e71915`](https://github.com/caddyserver/caddy/commit/7e719157) httpcaddyfile: Decrement counter when removing conn policy (fix [#&#8203;3906](https://github.com/caddyserver/caddy/issues/3906)) [`03d853e`](https://github.com/caddyserver/caddy/commit/03d853e) httpcaddyfile: Fix test on Windows [`b6686a5`](https://github.com/caddyserver/caddy/commit/b6686a5) httpcaddyfile: Improve AP logic with OnDemand [`63afffc`](https://github.com/caddyserver/caddy/commit/63afffc) httpcaddyfile: Proper log config with catch-all blocks (fix [#&#8203;3878](https://github.com/caddyserver/caddy/issues/3878)) [`db4f1c0`](https://github.com/caddyserver/caddy/commit/db4f1c0) httpcaddyfile: Revise automation policy generation ([#&#8203;3824](https://github.com/caddyserver/caddy/issues/3824)) [`c898a37`](https://github.com/caddyserver/caddy/commit/c898a37f) httpcaddyfile: support matching headers that do not exist ([#&#8203;3909](https://github.com/caddyserver/caddy/issues/3909)) [`dd26875`](https://github.com/caddyserver/caddy/commit/dd26875) logging: Fix for IP filtering [`ebc278e`](https://github.com/caddyserver/caddy/commit/ebc278e) metrics: allow disabling OpenMetrics negotiation ([#&#8203;3944](https://github.com/caddyserver/caddy/issues/3944)) [`670b723`](https://github.com/caddyserver/caddy/commit/670b723) requestbody: Add Caddyfile support ([#&#8203;3859](https://github.com/caddyserver/caddy/issues/3859)) [`99b8f44`](https://github.com/caddyserver/caddy/commit/99b8f44) reverse_proxy: Fix random_choose selection policy ([#&#8203;3811](https://github.com/caddyserver/caddy/issues/3811)) [`4a641f6`](https://github.com/caddyserver/caddy/commit/4a641f6) reverseproxy: Add Caddyfile scheme shorthand for h2c ([#&#8203;3629](https://github.com/caddyserver/caddy/issues/3629)) [`b660993`](https://github.com/caddyserver/caddy/commit/b660993) reverseproxy: Add max_idle_conns_per_host; fix godocs ([#&#8203;3829](https://github.com/caddyserver/caddy/issues/3829)) [`53aa60a`](https://github.com/caddyserver/caddy/commit/53aa60a) reverseproxy: Handle "operation was canceled" errors ([#&#8203;3816](https://github.com/caddyserver/caddy/issues/3816)) [`6e0849d`](https://github.com/caddyserver/caddy/commit/6e0849d) reverseproxy: Implement cookie hash selection policy ([#&#8203;3809](https://github.com/caddyserver/caddy/issues/3809)) [`9605853`](https://github.com/caddyserver/caddy/commit/9605853) reverseproxy: Logging for streaming and upgrades ([#&#8203;3689](https://github.com/caddyserver/caddy/issues/3689)) [`132525d`](https://github.com/caddyserver/caddy/commit/132525d) reverseproxy: Minor lint fixes [`860cc6a`](https://github.com/caddyserver/caddy/commit/860cc6a) reverseproxy: Wire up some http transport options in Caddyfile ([#&#8203;3843](https://github.com/caddyserver/caddy/issues/3843)) [`c9fdff9`](https://github.com/caddyserver/caddy/commit/c9fdff9) reverseproxy: caddyfile: Don't add port if upstream has placeholder ([#&#8203;3819](https://github.com/caddyserver/caddy/issues/3819)) [`6ea6f3e`](https://github.com/caddyserver/caddy/commit/6ea6f3e) reverseproxy: fix random hangs on http/2 requests with server push ([#&#8203;3875](https://github.com/caddyserver/caddy/issues/3875)) </details> --- ### Renovate configuration 📅 **Schedule**: 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
xoxys merged commit 79a092b1c4 into main 2021-01-01 13:08:48 +01:00
This repo is archived. You cannot comment on pull requests.
No reviewers
No Label
No Milestone
No Assignees
1 Participants
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: container/link-validator#7
No description provided.