Skip to content
DNS providers adapted for use in Caddy to solve the ACME DNS challenge
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
auroradns Renaming github.com/xenolf/lego references to github.com/go-acme/lego ( Apr 5, 2019
azure Renaming github.com/xenolf/lego references to github.com/go-acme/lego ( Apr 5, 2019
cloudflare Renaming github.com/xenolf/lego references to github.com/go-acme/lego ( Apr 5, 2019
cloudxns Renaming github.com/xenolf/lego references to github.com/go-acme/lego ( Apr 5, 2019
conoha Renaming github.com/xenolf/lego references to github.com/go-acme/lego ( Apr 5, 2019
digitalocean Renaming github.com/xenolf/lego references to github.com/go-acme/lego ( Apr 5, 2019
dnsimple
dnsmadeeasy Renaming github.com/xenolf/lego references to github.com/go-acme/lego ( Apr 5, 2019
dnspod
duckdns Renaming github.com/xenolf/lego references to github.com/go-acme/lego ( Apr 5, 2019
dyn Renaming github.com/xenolf/lego references to github.com/go-acme/lego ( Apr 5, 2019
exoscale Renaming github.com/xenolf/lego references to github.com/go-acme/lego ( Apr 5, 2019
fastdns Renaming github.com/xenolf/lego references to github.com/go-acme/lego ( Apr 5, 2019
gandi Renaming github.com/xenolf/lego references to github.com/go-acme/lego ( Apr 5, 2019
gandiv5 Renaming github.com/xenolf/lego references to github.com/go-acme/lego ( Apr 5, 2019
generic Renaming github.com/xenolf/lego references to github.com/go-acme/lego ( Apr 5, 2019
glesys Renaming github.com/xenolf/lego references to github.com/go-acme/lego ( Apr 5, 2019
godaddy Renaming github.com/xenolf/lego references to github.com/go-acme/lego ( Apr 5, 2019
googlecloud Renaming github.com/xenolf/lego references to github.com/go-acme/lego ( Apr 5, 2019
lightsail
linode Renaming github.com/xenolf/lego references to github.com/go-acme/lego ( Apr 5, 2019
namecheap Renaming github.com/xenolf/lego references to github.com/go-acme/lego ( Apr 5, 2019
namedotcom Renaming github.com/xenolf/lego references to github.com/go-acme/lego ( Apr 5, 2019
nifcloud Renaming github.com/xenolf/lego references to github.com/go-acme/lego ( Apr 5, 2019
ns1 Renaming github.com/xenolf/lego references to github.com/go-acme/lego ( Apr 5, 2019
otc Renaming github.com/xenolf/lego references to github.com/go-acme/lego ( Apr 5, 2019
ovh Renaming github.com/xenolf/lego references to github.com/go-acme/lego ( Apr 5, 2019
pdns Renaming github.com/xenolf/lego references to github.com/go-acme/lego ( Apr 5, 2019
rackspace Renaming github.com/xenolf/lego references to github.com/go-acme/lego ( Apr 5, 2019
rfc2136
route53 Renaming github.com/xenolf/lego references to github.com/go-acme/lego ( Apr 5, 2019
selectel Renaming github.com/xenolf/lego references to github.com/go-acme/lego ( Apr 5, 2019
stackpath Renaming github.com/xenolf/lego references to github.com/go-acme/lego ( Apr 5, 2019
vscale Renaming github.com/xenolf/lego references to github.com/go-acme/lego ( Apr 5, 2019
vultr Renaming github.com/xenolf/lego references to github.com/go-acme/lego ( Apr 5, 2019
.gitignore
LICENSE Create LICENSE Jul 7, 2017
README.md Renaming github.com/xenolf/lego references to github.com/go-acme/lego ( Apr 5, 2019
go.mod Adjust the dnspod-go version to fix compilation issues. (#53) Apr 25, 2019
go.sum Make Go module Apr 21, 2019

README.md

DNS providers for Caddy

These providers can be used to help solve the ACME DNS challenge by plugging them into Caddy 0.9 and newer:

import _ "github.com/caddyserver/dnsproviders/<provider>"

You can then use this in your Caddyfile with the tls directive like so:

tls {
	dns <provider>
}

Credentials for your DNS provider should be set in environment variables. This information is in the Automatic HTTPS page of the Caddy documentation. For more information about using your DNS provider, see the docs for your provider directly.

If you specify a DNS provider, the DNS challenge will be used exclusively; other challenge types will be disabled. Be aware that some DNS providers may be slow in applying changes.

About these packages

Caddy 0.9 and newer supports solving the ACME DNS challenge. This challenge is unique because the server that is requesting a TLS certificate does not need to start a listener and be accessible from external networks. This quality is essential when behind load balancers or in other advanced networking scenarios.

The DNS challenge sets a DNS record and the ACME server verifies its correctness in order to issue the certificate. Caddy can do this for you automatically, but it needs credentials to your DNS provider to do so. Since every DNS provider is different, we have these adapters you can plug into Caddy in order to complete this challenge.

The underlying logic that actually solves the challenge is implemented in a different package not far away from here. Caddy uses go-acme/lego, a library originally written for use in Caddy, to solve ACME challenges. If you wish to add a new provider, see the documentation for that library and write your own provider implementation. Then writing the adapter for Caddy is very easy: just copy+paste any of these existing ones, replace the names and tweak a few things, and submit a pull request. Done!

You can’t perform that action at this time.