
Quando stai impostando o rinnovando i certificati SSL utilizzando il protocollo ACME, non è insolito imbattersi in errori criptici che bloccano il processo. Questa guida ti illustra i problemi più comuni legati ad ACME, ti spiega cosa significano e ti mostra esattamente come risolverli. Se devi installare un nuovo certificato, automatizzare i rinnovi o eseguire il debug di una convalida fallita, questo è il posto giusto per iniziare.
Vincolo dell’account esterno mancante o non valido
Questo errore si presenta quando il server ACME richiede l’External Account Binding (EAB), ma il tuo cliente non ha inviato credenziali valide o le ha saltate del tutto. L’EAB è un modo per dimostrare che sei autorizzato a utilizzare un determinato server ACME.
Come risolvere il problema:
- Controlla due volte il tuo ID chiave e la chiave HMAC: Assicurati che entrambi siano corretti ed esattamente come sono stati forniti. Non ci sono spazi nascosti o interruzioni di riga.
- Usa l’URL corretto della Directory ACME: Alcuni client ti permettono di passare –server. Non confondere gli URL di produzione con quelli di staging.
- Aggiungi i flag EAB: Se stai usando
acme.sh, i flag dovrebbero essere così: –eab-kid –eab-hmac-key - Aggiorna il tuo client ACME: Se il client è obsoleto, aggiornalo. Le versioni più recenti supportano meglio l’EAB.
L’account non esiste
L’errore urn :ietf:params:acme:error:accountDoesNotExist compare quando il tuo client ACME cerca di utilizzare una chiave di account locale (quella memorizzata nella sua cartella di configurazione) che la CA non riconosce.
In parole povere, il tuo client ACME sta facendo riferimento a un account che non esiste o che è stato eliminato dal CA. Questo accade spesso quando si reinstalla il client, si spostano i server o si passa da un endpoint di staging a uno di produzione.
Come risolvere il problema:
1. Registra nuovamente il tuo account ACME: Utilizza le credenziali EAB (External Account Binding) corrette al momento della registrazione.
Esempio di acme.sh:
acme.sh --register-account \
--server https://acme.your-ca.com/v2/DV \
--eab-kid YOUR_EAB_KID \
--eab-hmac-key YOUR_EAB_HMAC_KEY \
--accountemail [email protected]
2. Controlla l’URL del server ACME: Assicurati di registrarti con l’endpoint corretto che corrisponde al tuo ordine.
3. Evita di riutilizzare i file degli account: Non spostare account.conf o chiavi di account da un server all’altro o da un client all’altro, a meno che tu non sia sicuro al 100% che siano validi per la stessa CA e lo stesso ambiente.
Errore Nonce o Anti-replay
Il tuo client ACME ha inviato una richiesta utilizzando un nonce (un token una tantum della CA) già utilizzato, scaduto o non valido. Il server la blocca per evitare attacchi replay. L’errore urn :ietf:params:acme:error:badNonce è solitamente un problema temporaneo causato da una cattiva tempistica, da richieste ritardate o da una mancata corrispondenza dell’orologio.
Come risolvere il problema:
1. Riprova la richiesta: La maggior parte dei client ACME (come acme.sh) riprova automaticamente quando riceve un errore badNonce. In caso contrario, esegui nuovamente l’ultimo comando manualmente. Dovrebbe funzionare al secondo tentativo.
2. Sincronizza l’orologio del server: Un orario di sistema sbilanciato può causare errori di replay. Esegui:
timedatectl status
timedatectl set-ntp true
Oppure assicurati che ntpd o chronyd funzionino correttamente.
3. Controlla i ritardi del proxy o del CDN: Se ti trovi dietro Cloudflare, un bilanciatore di carico o un proxy lento, potrebbe ritardare le tue richieste tanto da invalidare il nonce. Prova a bypassarlo temporaneamente.
Un identificatore richiesto non è stato delegato
Quando compare l’errore urn :ietf:params:acme:error:rejectedIdentifier, il server ACME ha rifiutato uno o più nomi di dominio che hai cercato di convalidare. Di solito è perché:
- Il dominio non esiste nel DNS pubblico
- Non c’è nessun record DNS che punta al tuo server
- Il dominio non è autorizzato all’emissione di certificati
In parole povere, la CA non può verificare che tu possieda o controlli quel dominio.
Come risolvere il problema:
1. Usa il formato corretto nel tuo comando: Includere solo il nome del dominio. Nessun protocollo, barra o URL completo.
- Corretto: -d example.com
- Sbagliato: -d http://example.com
2. Verifica che il dominio esista e si risolva. Esegui:
dig example.com +short
Se non c’è nessun risultato, il tuo dominio non è ancora attivo, quindi prima sistema le impostazioni DNS.
2. Corrisponde al tuo ordine ACME: Se stai utilizzando un certificato ACME commerciale, assicurati che il dominio che stai emettendo sia presente nell’ordine originale. Non puoi aggiungere domini al volo. Devono essere pre-approvati.
3. Fai attenzione agli errori di battitura e ai sottodomini: Controlla due volte cose come www.example.com vs example.com. Questi vengono trattati come voci separate.
Risposta non autorizzata o non valida
L’autorità di certificazione non è riuscita a verificare la proprietà del tuo dominio. Molto spesso, non è riuscita ad accedere al file di sfida ACME che il tuo cliente ha inserito nel server. Si tratta di un problema di convalida HTTP: la CA ha cercato di raggiungere il tuo sito, ma non è riuscita a trovare o leggere la sfida.
Il messaggio di errore esatto è urn :ietf:params:acme:error:unauthorized. Può anche apparire come: “Risposta non valida da http://yourdomain.com/.well-known/acme-challenge/…”.
Come risolvere il problema:
- Assicurati che il tuo server sia raggiungibile sulla porta 80 (anche se il tuo sito viene normalmente reindirizzato su HTTPS).
- Ricontrolla il percorso webroot nella configurazione del tuo client ACME. I file di sfida devono essere scritti in: /.well-known/acme-challenge/.
- Se il tuo server forza i reindirizzamenti HTTPS, autorizza temporaneamente le richieste HTTP semplici per quel percorso.
- Disattiva CDN, reverse proxy o firewall che potrebbero interferire con la convalida HTTP esterna della CA.
- Controlla i permessi del file e verifica che il file di sfida sia effettivamente creato e accessibile pubblicamente.
Token non trovato o file non raggiungibile (404 o 403)
Il server ACME ha cercato di recuperare il file di sfida HTTP, ma ha ottenuto una risposta 404 (Not Found) o 403 (Forbidden). Ciò significa che il file non è stato inserito correttamente, che non è accessibile pubblicamente o che il tuo server web sta bloccando l’accesso.
I messaggi di errore esatti possono variare. Ecco cosa puoi aspettarti di vedere:
- Risposta non valida da http://yourdomain.com/.well-known/acme-challenge/… [404]
- Risposta non valida… [403 Forbidden]
- urn:ietf:params:acme:error:unauthorized
Come risolvere il problema:
Controlla la radice del documento per il dominio e assicurati che corrisponda al punto in cui il client ACME sta inserendo il file: /.well-known/acme-challenge/
Verifica che il file del token esista e sia raggiungibile da un browser. Dovresti essere in grado di aprire l’URL di sfida direttamente nel browser e vedere il contenuto del token.
Imposta i permessi corretti per i file: il file di sfida ACME e le sue cartelle principali devono essere leggibili da tutti.
Se stai utilizzando regole .htaccess, firewall o plugin di sicurezza (come su WordPress), assicurati che non blocchino l’accesso al percorso /.well-known/.
Se ottieni 403, controlla anche la proprietà dei file e le restrizioni SELinux/AppArmor, se applicabili.
Il record di CAA impedisce l’emissione
Il tuo DNS ha un record CAA che limita le autorità di certificazione che possono emettere certificati per il tuo dominio. Se la CA che stai cercando di utilizzare non è presente nell’elenco, viene bloccata per impostazione predefinita. Potresti visualizzare il seguente messaggio di errore: urn :ietf:params:acme:error:caa
Si tratta di una politica a livello di DNS, non di un problema del server. Le CA sono tenute a verificare la CAA prima di rilasciare qualsiasi certificato.
Come risolvere il problema:
Controlla la zona DNS del tuo dominio per verificare la presenza di record CAA. Puoi utilizzare gli strumenti online o il comando dig:
dig CAA yourdomain.com
Se non c’è un record CAA, qualsiasi CA può rilasciare il certificato. Ma se c’è, assicurati che includa il nome esatto del tuo fornitore di certificati, ad esempio:
- 0 numero “sectigo.com”
- 0 numero “digicert.com”
Se stai usando un certificato wildcard, aggiungi anche la riga issuewild: 0 issuewild “sectigo.com”
Attendi qualche minuto per la propagazione del DNS, quindi riprova l’ordine ACME. Se non sei sicuro, rimuovi temporaneamente il record CAA per testare l’emissione, ma solo se gestisci il DNS in modo sicuro.
Record TXT non trovato (per certificati Wildcard)
I certificati wildcard (come *.example.com) richiedono la convalida DNS-01, l’unico metodo consentito da tutte le CA per i domini wildcard.
DNS-01 funziona chiedendoti di creare un record TXT speciale nel DNS: _acme-challenge.example.com
Se questo record manca o non è ancora stato propagato, riceverai questo errore.
Esempi di errori:
- urn:ietf:params:acme:error:dns :: Problema DNS: NXDOMAIN cerca TXT per _acme-challenge.example.com
- Record TXT non trovato per _acme-challenge.example.com
Come risolvere il problema:
Nel tuo provider DNS, crea un record TXT:
- Nome: _acme-challenge.example.com
- Valore: (il token che il tuo cliente ACME ti fornisce; unico per ogni richiesta)
Attendi 1-10 minuti per la propagazione del DNS. Alcuni provider impiegano più tempo. Conferma con il seguente comando.
dig TXT _acme-challenge.example.com
Puoi anche utilizzare uno strumento di ricerca DNS online. Una volta visibile, riprova la convalida.
Troppe richieste o limite di velocità superato
L’errore appare come urn :ietf:params:acme:error:rateLimited o 429 Too Many Requests quando il server ACME si rifiuta di elaborare la tua richiesta perché hai raggiunto un limite di velocità.
Questo accade di solito quando si richiedono troppi certificati per lo stesso dominio in un breve periodo o si inviano troppe richieste fallite di seguito.
Come risolvere il problema:
La maggior parte dei limiti di velocità si resetta automaticamente dopo un’ora, un giorno o una settimana, a seconda di ciò che hai colpito. Se utilizzi uno script, controlla i log e risolvi gli errori prima di riprovare. Non forzare alla cieca: peggiorerebbe solo il blocco.
Per le convalide DNS-01, evita le richieste rapide dopo piccoli errori nel record TXT. Attendi la propagazione del DNS. Se il tuo CA fornisce una pagina di stato o delle intestazioni relative ai limiti di velocità, controlla i tempi di ripristino più precisi.
Errori DNS o errori di ricerca
Se ricevi messaggi come“Problema DNS: NXDOMAIN looking up A for example.com” o“Temporary failure in name resolution“, significa che il server ACME non è riuscito a risolvere il tuo nome di dominio, perché il dominio non esiste, non è ancora stato propagato o non ha record IP validi.
L’autorità di certificazione si affida al DNS per verificare che il tuo dominio esista e punti a qualcosa di reale. Se non riesce a raggiungere i tuoi record A (IPv4) o AAAA (IPv6), interrompe il processo di convalida.
Questo può accadere se:
- Il tuo dominio è nuovo di zecca e il DNS non si è propagato completamente.
- Hai dimenticato di aggiungere i record DNS giusti
- Stai lavorando in una rete locale o interna senza visibilità del DNS pubblico.
- C’è un errore di battitura nel nome del dominio che hai inviato.
Come risolvere il problema:
- Controlla che il tuo dominio abbia dei record A o AAAA validi che puntano al tuo server live.
- Utilizza strumenti come dig, nslookup o i checker online (ad esempio whatsmydns.net) per confermare la propagazione.
- Assicurati di non utilizzare un dominio privato o interno. La convalida ACME funziona solo per i nomi risolvibili pubblicamente.
- Attendi qualche minuto dopo le modifiche al DNS; non sempre vengono eseguite all’istante.
Impossibile connettersi al server ACME
Questo errore compare quando il tuo server non riesce a raggiungere l’endpoint dell’API ACME. Può essere visualizzato come Connessione rifiutata, Timeout durante la connessione, Impossibile connettersi o messaggi simili a seconda del client ACME.
Come risolvere il problema:
- Assicurati che il tuo server consenta le connessioni HTTPS in uscita sulla porta 443.
- Controlla le impostazioni del firewall o le regole di rete in uscita (soprattutto nelle configurazioni cloud/VPS).
- Se utilizzi un proxy, permetti il traffico verso il dominio del server ACME della CA.
- Verifica che il tuo server abbia un resolver DNS funzionante.
- Verifica la connettività con: curl https://acme.example.com (sostituisci con l’endpoint reale della tua CA).
- Riavvia il client ACME dopo aver risolto i problemi di rete.
Script di post-rinnovo fallito
Questo errore si presenta dopo un rinnovo del certificato andato a buon fine, quando lo script di follow-up destinato a ricaricare il server web o il servizio non è stato eseguito correttamente. A seconda del tuo client ACME, potresti vedere messaggi come “errore post-hook”, “script di distribuzione non riuscito” o “comando non trovato”.
Come risolvere il problema:
- Esegui manualmente il tuo script post-rinnovo per vedere cosa si rompe.
- Controlla i percorsi dei file, soprattutto per il nuovo certificato e la nuova chiave.
- Assicurati che lo script abbia i permessi di esecuzione (ad esempio, chmod +x script.sh).
- Cerca gli errori di battitura, le dipendenze mancanti o la sintassi sbagliata dei comandi.
- Se stai usando un deploy hook o un post-hook, verifica che il client lo supporti e che sia configurato correttamente.
Parole finali
Abbiamo analizzato gli errori più comuni del certificato SSL di ACMS e abbiamo fornito delle soluzioni rapide. Se nessuna di queste soluzioni risolve il tuo problema, esegui il tuo client ACME in modalità debug. La maggior parte dei client fornisce un output più dettagliato quando si attiva la registrazione. Queste informazioni possono aiutare a identificare la vera causa e a far funzionare nuovamente il tuo SSL.
Risparmia il 10% sui certificati SSL ordinando oggi stesso da SSL Dragon!
Emissione rapida, crittografia avanzata, affidabilità del browser al 99,99%, assistenza dedicata e garanzia di rimborso entro 25 giorni. Codice coupon: SAVE10

