Disabe letsencrypt fallito e Run discourse-setup ha avuto un allarme non normale

Sto cercando di riconfigurare il certificato SSL e vorrei disabilitare il certificato gratuito di Let’s Encrypt.
Poiché possiedo un certificato acquistato, ho trovato alcune indicazioni su Google.

Ho modificato direttamente app.yml e confermato che le chiavi e i certificati in /var/discourse/shared/standalone/ssl/ hanno nomi di file coerenti con il file di configurazione, poi ho eseguito la ricompilazione. Il risultato è stato un fallimento: il sistema continua a utilizzare il certificato di Let’s Encrypt.

Nel log di nginx compaiono alcuni errori:


2021/09/25 16:37:26 [emerg] 48#48: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:27 [emerg] 78#78: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:28 [emerg] 80#80: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:29 [emerg] 82#82: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:30 [emerg] 95#95: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:31 [emerg] 104#104: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:32 [emerg] 106#106: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

Ho verificato che i file esistano nella directory:

root@discourse-test:/var/discourse/shared/standalone/ssl# ls -al ssl.*
-rw-r--r-- 1 root root 7868 Sep 25 16:24 ssl.cer
-rw------- 1 root root 1675 Sep 25 16:24 ssl.key

Ho inoltre trovato alcune discussioni al seguente URL:

Rimuovere Let’s Encrypt dalle opzioni di installazione

Quando eseguo ./discourse-setup, ricevo questo avviso:

./discourse-setup: line 471: [: 1234567890123456: binary operator expected

Avete qualche suggerimento per disabilitare Let’s Encrypt o risolvere il problema di riconfigurazione?

2 Mi Piace

Ci sono alcuni argomenti su come utilizzare il proprio certificato. Puoi provare a cercare, ma questa nicchia è trattata qui: Configurazione avanzata esclusiva: abilitazione di SSL/HTTPS per la tua configurazione Docker di Discourse

1 Mi Piace

Ciao pfaffman

Grazie per la tua risposta.
Per le informazioni che hai fornito, ho già un riferimento e un esperimento.
Ma il risultato è fallito, il servizio nginx non riesce a leggere il file.

Il messaggio di errore è descritto sopra:

2021/09/25 16:37:26 [emerg] 48#48: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:27 [emerg] 78#78: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:28 [emerg] 80#80: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:29 [emerg] 82#82: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:30 [emerg] 95#95: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:31 [emerg] 104#104: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:32 [emerg] 106#106: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)
1 Mi Piace

Sono riuscito a utilizzare il mio certificato.

Continuavo a usare il nome errato del file delle credenziali: le impostazioni di nginx richiedono un file crt, ma continuavo a installare e testare un file cer.
Quindi, ho risolto il problema SSL.

Grazie

3 Mi Piace

Qualcosa che è saltato agli occhi nei tuoi primi due post è stato

cannot load certificate "/shared/ssl/ssl.crt"

e
Hai confermato che il file è presente nella directory

root@discourse-test:/var/discourse/shared/standalone/ssl# ls -al ssl.*

Notare la differenza dopo la parte /shared/ dei percorsi. Nginx si aspettava che il file ssl.crt fosse nella cartella shared/ssl/. L’hai trovato invece in shared/standalone/. Il file non si trovava nel percorso in cui Nginx lo stava cercando.

@JimPas Grazie per la risposta.
Ho fornito informazioni sul fatto che il percorso non corrisponde, perché un percorso è quello di un volume Docker e l’altro è quello reale del file sul server.

Solo configurazione avanzata: Abilitare SSL/HTTPS per la tua installazione Discourse Docker

volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared

sembra non corrispondere, ma in realtà è lo stesso.
Il primo problema è stato risolto.
La causa principale per me è che non ho notato il formato del certificato.
La configurazione richiede il formato crt, ma ho sempre utilizzato file nel formato cer, quindi nginx non è riuscito a leggere correttamente il file del certificato.

2 Mi Piace

:man_facepalming:
Non me ne ero mai accorto. Beh, datemi un richiamo!
Sono contento che tu te ne sia reso conto e l’abbia risolto. :+1:

1 Mi Piace

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.