= Let's Encrypt wildcard
{{tag>lets_encrypt}}
== info
* [[https://www.jesusamieiro.com/generar-un-certificado-ssl-wildcard-con-lets-encrypt/]]
* [[https://www.whatsmydns.net/]]
* [[https://dnschecker.org/#TXT/_acme-challenge.fidmag.org]]
* [[https://mxtoolbox.com/SuperTool.aspx?action=txt%3a_acme-challenge.example.com&run=toolpage#]]
* [[https://redeslinux.net/guia-completa-pfsense-con-ddns-de-cloudflare-certificados-lets-encrypt-y-haproxy-para-proxy-inverso-y-balanceo-de-carga-de-servicios/]]
* [[https://discourse.haproxy.org/t/using-ssl-with-haproxy-for-docker-containers/307]]
* [[https://github.com/BradJonesLLC/docker-haproxy-letsencrypt/blob/master/certs.sh]]
* [[https://github.com/BradJonesLLC/docker-haproxy-letsencrypt]]
== renovación autmatizada auth.acme-dns.io
* primera vegada: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
sudo certbot certonly --manual --manual-auth-hook /etc/letsencrypt/acme-dns-auth.py --preferred-challenges dns --debug-challenges -d "*.fidmag.org" -d "fidmag.org"
* creat registre CNAME:_acme-challenge.fidmag.org CNAME 1569f935-7bf3-4630-9c3d-5846ad7c956e.auth.acme-dns.io.dig _acme-challenge.fidmag.org CNAME +short
* renovacions per cron0 7,19 * * * certbot renew --quiet --deploy-hook "/home/fidmag/certbot/renew-dns.sh" > /home/fidmag/certbot/last_exec 2>&1
* simulacro: certbot renew --dry-run
* comprobar fichero configuración renovación:# Options used in the renewal process
[renewalparams]
account = ***
pref_challs = dns-01,
authenticator = manual
server = https://acme-v02.api.letsencrypt.org/directory
key_type = ecdsa
manual_auth_hook = /etc/letsencrypt/acme-dns-auth.py
* Let's encrypt recomienda comprobar 2 veces al día (Gemini dixit)
* ''%%--%%deploy-hook'': script a ejecutar si la renovación es exitosa
* # configuració
#declare -a CERTIFICATS=("matebcn.eu" "fruitsmontmany.es" "estellar.cat")
declare -a CERTIFICATS=($(basename -s .conf /etc/letsencrypt/renewal/*.conf))#!/usr/bin/env bash
SCRIPT_SOURCE=`dirname "$0"`
source ${SCRIPT_SOURCE}/certificats.config
for cert "${CERTIFICATS[@]}"; do
if [[ -f /home/mate/webservices/certs/${cert}.pem ]]; then
sudo cp -f /home/mate/webservices/certs/${cert}.pem /home/mate/webservices/certs/old/${cert}.pem.old
fi
if [[ -f /home/mate/webservices/certs/${cert}.pem.key ]]; then
sudo cp -f /home/mate/webservices/certs/${cert}.pem.key /home/mate/webservices/certs/old/${cert}.pem.key.old
fi
sudo cp -f /etc/letsencrypt/live/${cert}/fullchain.pem /home/mate/webservices/certs/${cert}.pem && \
sudo cp -f /etc/letsencrypt/live/${cert}/privkey.pem /home/mate/webservices/certs/${cert}.pem.key && \
sudo chmod +r /home/mate/webservices/certs/* && \
docker compose -f /home/mate/webservices/docker-compose.yml restart haproxy-proxy
done