From f2cb7fef460951d3305400f7d76c9deaa8c0e8cb Mon Sep 17 00:00:00 2001 From: Matthew Holt Date: Wed, 30 Oct 2024 13:14:30 -0600 Subject: [PATCH] tls: Update zerossl issuer docs Updated for ZeroSSL API changes --- src/docs/markdown/caddyfile/directives/tls.md | 25 ++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/src/docs/markdown/caddyfile/directives/tls.md b/src/docs/markdown/caddyfile/directives/tls.md index 1af809d..5d9c0ff 100644 --- a/src/docs/markdown/caddyfile/directives/tls.md +++ b/src/docs/markdown/caddyfile/directives/tls.md @@ -356,19 +356,32 @@ Obtains certificates using the ACME protocol. Note that `acme` is a default issu #### zerossl -Obtains certificates using the ACME protocol, specifically with ZeroSSL. Note that `zerossl` is a default issuer, so configuring it explicitly is usually unnecessary. +Obtains certificates using [ZeroSSL's proprietary certificate issuance API](https://zerossl.com/documentation/api/). An API key is required and payment may also be required depending on your plan. Note that this issue is distinct from [ZeroSSL's ACME endpoint](https://zerossl.com/documentation/acme/). To use ZeroSSL's ACME endpoint, use the `acme` issuer described above configured with ZeroSSL's ACME directory endpoint. ```caddy-d -... zerossl [] { - ... +... zerossl { + validity_days + alt_http_port + dns ... + propagation_delay + propagation_timeout + resolvers + dns_ttl } ``` -The syntax for `zerossl` is exactly the same as for [`acme`](#acme), except that its name is `zerossl` and it can optionally take your ZeroSSL API key. +- **validity_days** defines the certificate lifetime. Only certain values are accepted; see [ZeroSSL's docs](https://zerossl.com/documentation/api/create-certificate/) for details. + +- **alt_http_port** is the port to use for completing ZeroSSL's HTTP validation, if not port 80. +- **dns** enables CNAME validation method using the named DNS provider with the given configuration for automatic record provisioning. The DNS provider plugin must be installed from the [`caddy-dns` ](https://github.com/caddy-dns) repositories. Each provider plugin may have their own syntax following their name; refer to their docs for details. Maintaining support for each DNS provider is a community effort. +- **propagation_delay** is how long to wait before checking for CNAME record propagation. +- **propagation_timeout** is how long to wait for CNAME record propagation before giving up. +- **resolvers** defines custom DNS resolvers to use when checking for CNAME record propagation. +- **dns_ttl** configures the TTL for CNAME records created as part of the validation process. -Its functionality is also the same, except that it will use ZeroSSL's directory by default and it can automatically negotiate EAB credentials (whereas with the `acme` issuer, you have to manually provide EAB credentials and set the directory endpoint). -When explicitly configuring `zerossl`, configuring an `email` is required so that your certificates can appear in your ZeroSSL dashboard. #### internal