This is an old revision of the document!
Table of Contents
ACME DNS
- service-urls:
- http://https://acmedns.hamburg.ccc.de
- host-fqdn:
- acmedns.hosts.hamburg.ccc.de
- netbox-link:
- http://https://netbox.hamburg.ccc.de/virtualization/virtual-machines/85/
- server:
- servername
- maintainer:
- stb
- ccchh-id-integration:
- false
Description
acme-dns is a specialized name server that can be used to implent the ACME DNS-01 challenge.
We run an instance of acme-dns so we can more easily create Let's Encrypt certificates for hosts, in particular those that are not accessible from the Internet, and thus can't use the HTTP-01 challenge.
Configuration
See the Ansible repo. We are using oauth2-proxy to limit access to the register API endpoint to users that can log in through our Keycloak.
Using ACME-DNS
To enable requesting Let's Encrypt certificates with acme-dns, you need to register a record in acme-dns, then you need to configure your DNS entry so it points to the acme-dns zone (and thus the acme-dns name server), and finally you need to configure your ACME client to issue the certificate.
Register an Entry in ACME DNS
Go to https://acmedns.hamburg.ccc.de, log in if necessary, and click Register. A table will be shown with four parameters that you will need. This information is only shown once, so make sure to save or copy it straight away.
- Full Domain: is the target of the CNAME entry you need to create
- Subdomain, X-Api-User and X-Api-Key: configuration for the ACME client.
Note: there is no way to delete registrations. Each registration is small, so it's not an immediate problem, but please do not click register unless you are planning to really create a new entry.
Create a DNS Entry for the Challenge
Create a (ACME magic) CNAME record to your existing zone, pointing to the subdomain you got from the registration.
_acme-challenge.domainiwantcertfor.tld. CNAME a097455b-52cc-4569-90c8-7a4b97c6eba8.acmedns.hamburg.ccc.de.
Configure ACME client
- acm-dns-certbot code and configuration
