Base di conoscenze
1 000 FAQ, 500 tutorial e video esplicativi. Qui ci sono delle soluzioni!
Rinnovare un certificato "wildcard" tramite verifica DNS
Questa guida spiega come generare e rinnovare automaticamente un certificato wildcard tramite una verifica DNS utilizzando Certbot e il plugin dns-infomaniak.
1. Installazione degli strumenti necessari
Il plugin DNS di Infomaniak non è incluso di default. Per evitare l'errore plugin does not appear to be installed, installa certbot e la sua estensione seguendo le istruzioni ufficiali.
Assicurati di selezionare la scheda Wildcard sul sito di Certbot dopo aver scelto il tuo sistema.
2. Generazione manuale iniziale
Esegui questo comando per avviare la prima generazione del certificato:
certbot certonly --manual \
-d *.example.com \
--preferred-challenges dns-01 \
--server {{URL_1}}
3. Verifica della sfida DNS (record TXT)
Per dimostrare di essere il proprietario del dominio, accedi al tuo Pannello di controllo Infomaniak e crea il seguente record TXT:
- Nome:
_acme-challenge - Valore: (quello fornito dal comando Certbot)
4. Preparazione dell'API Infomaniak
Per automatizzare il processo, genera un token API con l'ambito domain nella tua interfaccia di gestione. Questo token consentirà allo script di aggiornare automaticamente i tuoi DNS.
5. Script di autenticazione (infomaniak-auth.sh)
Crea 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 {{URL_5}} \
-d "$CERTBOT_DOMAIN" \
--agree-tosRendi lo script eseguibile:
chmod +x /root/infomaniak-auth.sh
6. Script di pulizia (infomaniak-clean.sh)
Crea il file /root/infomaniak-clean.sh per completare la procedura:
#!/bin/bash
# Optional: Cleanup operations after challenge
exit 0Rendi lo script eseguibile:
chmod +x /root/infomaniak-clean.sh
7. Configurazione del rinnovo automatico
Modificare o creare 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 = {{URL_6}}
pref_challs = dns-01
account = YOUR_ACCOUNT_ID
key_type = rsa
8. Test e automazione (Cron)
Prima di automatizzare il processo, verifica che tutto funzioni correttamente eseguendo una simulazione:
certbot renew --dry-runSe il test ha esito positivo, aggiungi questo job 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 nel codice qui sopra in base alla 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: https://faq.infomaniak.com/1708
Questa FAQ è stata utile?