Base di conoscenze
1 000 FAQ, 500 tutorial e video esplicativi. Qui ci sono delle soluzioni!
Rinnovare un certificato "wildcard" tramite challenge DNS
Questa guida spiega come generare e rinnovare automaticamente un certificato wildcard tramite una sfida DNS utilizzando Certbot e il plugin dns-infomaniak.
1. Installazione degli strumenti necessari
Il plugin DNS Infomaniak non è incluso per impostazione predefinita. Per evitare l'errore plugin does not appear to be installed, installare certbot e la sua estensione seguendo le istruzioni ufficiali.
Assicurarsi di selezionare la scheda Wildcard sul sito di Certbot dopo aver scelto il proprio sistema.
2. Generazione iniziale manuale
Eseguire questo comando per avviare la prima generazione del certificato:
certbot certonly --manual \
-d *.example.com \
--preferred-challenges dns-01 \
--server https://acme-v02.api.letsencrypt.org/directory
3. Validazione della sfida DNS (Registrazione TXT)
Per dimostrare di possedere il dominio, accedere al proprio Manager Infomaniak e creare la registrazione TXT seguente:
- Nome:
_acme-challenge - Valore: (quello fornito dal comando Certbot)
4. Preparazione dell'API Infomaniak
Per automatizzare il processo, generare un token API con l'ambito domain nella propria interfaccia di gestione. Questo token permetterà allo script di aggiornare i DNS automaticamente.
5. Script di autenticazione (infomaniak-auth.sh)
Creare il file /root/infomaniak-auth.sh. Questo script verrà chiamato da Certbot durante il rinnovo:
#!/bin/bash
# API Token for Infomaniak
INFOMANIAK_API_TOKEN="YOUR_API_TOKEN_HERE"
# Update DNS record via Infomaniak API plugin
/usr/bin/certbot \
--authenticator dns-infomaniak \
--server https://acme-v02.api.letsencrypt.org/directory \
-d "$CERTBOT_DOMAIN" \
--agree-tosRendere lo script eseguibile:
chmod +x /root/infomaniak-auth.sh
6. Script di pulizia (infomaniak-clean.sh)
Creare il file /root/infomaniak-clean.sh per completare la procedura:
#!/bin/bash
# Optional: Cleanup operations after challenge
exit 0Rendere lo script eseguibile:
chmod +x /root/infomaniak-clean.sh
7. Configurazione del rinnovo automatico
Modifica o crea il seguente file di configurazione: /etc/letsencrypt/renewal/example.com.conf.
cert = /etc/letsencrypt/live/example.com/cert.pem
privkey = /etc/letsencrypt/live/example.com/privkey.pem
chain = /etc/letsencrypt/live/example.com/chain.pem
fullchain = /etc/letsencrypt/live/example.com/fullchain.pem
[renewalparams]
authenticator = manual
manual_auth_hook = /root/infomaniak-auth.sh
manual_cleanup_hook = /root/infomaniak-clean.sh
server = https://acme-v02.api.letsencrypt.org/directory
pref_challs = dns-01
account = YOUR_ACCOUNT_ID
key_type = rsa
8. Test e Automatizzazione (Cron)
Prima di automatizzarlo, verifica che tutto funzioni correttamente con una simulazione:
certbot renew --dry-runSe il test ha successo, aggiungi questo compito Cron per verificare il rinnovo ogni X giorni:
0 0 */30 * * /usr/bin/certbot renew --quiet --config /etc/letsencrypt/renewal/example.com.confModifica 30 giorni sopra secondo la frequenza desiderata. Il cron utilizzerà automaticamente:
- il file
domain.tld.conf - lo script di autenticazione
infomaniak-auth.sh - il plugin
dns-infomaniak
Link a questa FAQ:
Questa FAQ è stata utile?