Para poder renovar los certificados a través DNS, hace falta usar un servicio que permita acceder a los registros DNS via API (o delegar el registro CNAME en uno que lo permita).
sudo curl -o /etc/letsencrypt/acme-dns-auth.py https://raw.githubusercontent.com/joohoi/acme-dns-certbot-joohoi/master/acme-dns-auth.py sudo chmod +x /etc/letsencrypt/acme-dns-auth.py
apt install python-is-python3sudo certbot certonly --manual --manual-auth-hook /etc/letsencrypt/acme-dns-auth.py --preferred-challenges dns --debug-challenges -d "*.fidmag.org" -d "fidmag.org"
dig _acme-challenge.fidmag.org CNAME +short
certbot renew --post-hook "systemctl reload nginx" (o apache2)
certbot renew --post-hook "docker compose -f /home/fidmag/webservices/docker-compose.yml restart"
Después copiar los certificados donde correspondan
# execució manual sudo certbot certonly --manual \ --manual-auth-hook /etc/letsencrypt/acme-dns-auth.py \ --preferred-challenges dns \ --debug-challenges \ -d "fidmag.org" \ -d "*.fidmag.org" [[ $? -eq 0 ]] && { echo "Renovación exitosa. Actualizando certificados en webservices..." # Ejecutamos en cadena (&&): si un paso falla, se detiene para no romper nada sudo mv -f /home/fidmag/webservices/certs/fullchain.pem /home/fidmag/webservices/certs/fullchain.pem.old && \ sudo mv -f /home/fidmag/webservices/certs/fullchain.pem.key /home/fidmag/webservices/certs/fullchain.pem.key.old && \ sudo cp -f /etc/letsencrypt/live/fidmag.org/fullchain.pem /home/fidmag/webservices/certs/ && \ sudo cp -f /etc/letsencrypt/live/fidmag.org/privkey.pem /home/fidmag/webservices/certs/fullchain.pem.key && \ sudo chmod +r /home/fidmag/webservices/certs/* && \ docker compose -f /home/fidmag/webservices/docker-compose.yml restart }
sudo certbot certonly --manual --preferred-challenges dns -d "*.fidmag.org" -d "fidmag.org"
Después copiar los certificados donde correspondan