▲ | andreashaerter 2 days ago | ||||||||||||||||||||||||||||||||||||||||
CNAMEs. I do this for everything. Example: 1. Your main domain is important.example.com with provider A. No DNS API token for security. 2. Your throwaway domain in a dedicated account with DNS API is example.net with provider B and a DNS API token in your ACME client 3. You create _acme-challenge.important.example.com not as TXT via API but permanent as CNAME to _acme-challenge.example.net or _acme-challenge.important.example.com.example.net 4. Your ACME client writes the challenge responses for important.example.com into a TXT at the unimportant _acme-challenge.example.net and has only API access to provider B. If this gets hacked and example.net lost you change the CNAMES and use a new domain whatever.tld as CNAME target. acme.sh supports this (see https://github.com/acmesh-official/acme.sh/wiki/DNS-alias-mo... this also works for wildcards as described there), most ACME clients do. I also wrote an acme.sh Ansible role supporting this: https://github.com/foundata/ansible-collection-acmesh/tree/m.... Example values:
| |||||||||||||||||||||||||||||||||||||||||
▲ | theschmed 2 days ago | parent | next [-] | ||||||||||||||||||||||||||||||||||||||||
Thank you for this clear explanation. | |||||||||||||||||||||||||||||||||||||||||
▲ | teruakohatu 2 days ago | parent | prev [-] | ||||||||||||||||||||||||||||||||||||||||
This has blown my mind. Its been a constant source of frustration since Cloudflare stubbornly refuses to allow non-enterprise accounts to have a seperate key per zone. The thread requesting it is a masterclass in passive aggressiveness: https://community.cloudflare.com/t/restrict-scope-api-tokens... | |||||||||||||||||||||||||||||||||||||||||
|