Aggiungo qui un caso particolare di migrazione che ho incontrato, nel caso possa essere utile a qualcun altro.
Ho riscontrato un caso particolare con Let’s Encrypt/SSL durante il trasferimento di un’istanza Discourse standalone su un nuovo VPS, quindi ho redatto una descrizione dettagliata della diagnosi e dei passaggi di recupero, nel caso possano risultare utili a chiunque segua questa guida.
Nel mio caso, nginx all’interno di app non avviava perché entrambi i file .cer in /var/discourse/shared/standalone/ssl/ erano diventati file vuoti (zero byte):
PEM_read_bio_X509_AUX() failed
La ricostruzione ha tentato nuovamente l’emissione del certificato e, dopo ripetuti tentativi, ho raggiunto il limite di frequenza dei certificati di Let’s Encrypt. Copiare i file del certificato ancora validi dal server vecchio non era sufficiente, perché l’avvio di app li sostituiva nuovamente con file vuoti.
Ciò che alla fine ha risolto il problema è stato fermare app e copiare sia la directory funzionante /var/discourse/shared/standalone/ssl/ sia lo stato corrispondente di /var/discourse/shared/standalone/letsencrypt/ dal server vecchio, per poi riavviare il container.
Ho documentato la sequenza completa qui:
Queste sono note di diagnosi/recupero relative a questa specifica migrazione e non costituiscono una sostituzione della documentazione ufficiale su migrazione o HTTPS.
Esiste anche un argomento Meta più vecchio che copre il relativo modalità di errore con file .cer vuoti: