# Impossibile impostare nginx: \[emerg\] impossibile caricare il certificato "/var/discourse/shared/standalone/ssl/ssl.crt": BIO\_new\_file() fallito

**URL:** https://meta.discourse.org/t/i-cant-set-nginx-emerg-cannot-load-certificate-var-discourse-shared-standalone-ssl-ssl-crt-bio-new-file-failed/160976
**Category:** Self-hosting
**Created:** [15 Agosto 2020, 12:09pm UTC](https://meta.discourse.org/t/i-cant-set-nginx-emerg-cannot-load-certificate-var-discourse-shared-standalone-ssl-ssl-crt-bio-new-file-failed/160976 "2020-08-15T12:09:11Z")
**Posts on this page:** 13
**Page:** 1

<div class="post-metadata">

### Author: ![slivo](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/slivo/32/186825_2.png) [@slivo](https://meta.discourse.org/u/slivo)
#### Post date: [15 Agosto 2020, 12:09pm UTC](https://meta.discourse.org/t/i-cant-set-nginx-emerg-cannot-load-certificate-var-discourse-shared-standalone-ssl-ssl-crt-bio-new-file-failed/160976/1 "2020-08-15T12:09:11Z")

</div>

(SSL: errore:02001002:libreria di sistema:fopen:File o directory non esistente:fopen('/var/dis (…)  
Sto seguendo la guida, ma non riesco a trovare nulla riguardo a questo errore

---

<div class="post-metadata">

### Author: ![neounix](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/neounix/32/215617_2.png) [@neounix](https://meta.discourse.org/u/neounix)
#### Post date: [15 Agosto 2020, 12:24pm UTC](https://meta.discourse.org/t/i-cant-set-nginx-emerg-cannot-load-certificate-var-discourse-shared-standalone-ssl-ssl-crt-bio-new-file-failed/160976/2 "2020-08-15T12:24:41Z")

</div>

Ciao @slivo

Vediamo l’output di questo:

```plaintext
cd /var/discourse/shared/standalone/ssl
ls -l

```

Ci sono indizi?

---

<div class="post-metadata">

### Author: ![slivo](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/slivo/32/186825_2.png) [@slivo](https://meta.discourse.org/u/slivo)
#### Post date: [15 Agosto 2020, 12:50pm UTC](https://meta.discourse.org/t/i-cant-set-nginx-emerg-cannot-load-certificate-var-discourse-shared-standalone-ssl-ssl-crt-bio-new-file-failed/160976/3 "2020-08-15T12:50:25Z")

</div>

cd ssl: File o directory non esistente

---

<div class="post-metadata">

### Author: ![neounix](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/neounix/32/215617_2.png) [@neounix](https://meta.discourse.org/u/neounix)
#### Post date: [15 Agosto 2020, 12:59pm UTC](https://meta.discourse.org/t/i-cant-set-nginx-emerg-cannot-load-certificate-var-discourse-shared-standalone-ssl-ssl-crt-bio-new-file-failed/160976/4 "2020-08-15T12:59:42Z")

</div>

Ciao @slivo,

Questo indica che la configurazione di Let’s Encrypt non ha generato i certificati quando hai ricostruito l’ultima volta il tuo contenitore.

Certo, sono sicuro che lo sapessi già!

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [15 Agosto 2020, 2:26pm UTC](https://meta.discourse.org/t/i-cant-set-nginx-emerg-cannot-load-certificate-var-discourse-shared-standalone-ssl-ssl-crt-bio-new-file-failed/160976/5 "2020-08-15T14:26:28Z")

</div>

Ho avuto un’installazione fallita qualcosa del genere questa settimana. Forse prova a eseguire

```
./launcher rebuild app

```

---

<div class="post-metadata">

### Author: ![slivo](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/slivo/32/186825_2.png) [@slivo](https://meta.discourse.org/u/slivo)
#### Post date: [18 Agosto 2020, 6:43am UTC](https://meta.discourse.org/t/i-cant-set-nginx-emerg-cannot-load-certificate-var-discourse-shared-standalone-ssl-ssl-crt-bio-new-file-failed/160976/6 "2020-08-18T06:43:51Z")

</div>

L’ho ricostruito di nuovo. L’ho configurato seguendo le linee guida. SSL certificato impostato (/etc/nginx/sites-enabled/discourse.conf), ma ho un errore:

> SSL: errore:0909006C:PEM routines:get\_name:no start line:Expecting: TRUSTED CERTIFICATE

Non riesco ad avviare nginx per nulla.

```
 nginx.service: Processo di controllo terminato, codice=exited status=1
 nginx.service: Terminato con esito 'exit-code'.

Processo: 3840 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=0/SUCCESS)
  Processo: 25108 ExecReload=/usr/sbin/nginx -g daemon on; master_process on; -s reload (code=exited, status=1/FAILURE)

```

// Impossibile avviare un server web ad alte prestazioni e un server proxy inverso.

---

<div class="post-metadata">

### Author: ![neounix](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/neounix/32/215617_2.png) [@neounix](https://meta.discourse.org/u/neounix)
#### Post date: [18 Agosto 2020, 7:02am UTC](https://meta.discourse.org/t/i-cant-set-nginx-emerg-cannot-load-certificate-var-discourse-shared-standalone-ssl-ssl-crt-bio-new-file-failed/160976/7 "2020-08-18T07:02:51Z")

</div>

> [@slivo](#):
>
> // Errore nell’avvio di un server web ad alte prestazioni e di un proxy inverso.

Ciao @slivo,

Grazie per l’aggiornamento sulla configurazione.

Stai configurando Discourse con la build Docker standard senza un proxy inverso esterno al container?

---

<div class="post-metadata">

### Author: ![slivo](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/slivo/32/186825_2.png) [@slivo](https://meta.discourse.org/u/slivo)
#### Post date: [18 Agosto 2020, 8:16am UTC](https://meta.discourse.org/t/i-cant-set-nginx-emerg-cannot-load-certificate-var-discourse-shared-standalone-ssl-ssl-crt-bio-new-file-failed/160976/8 "2020-08-18T08:16:10Z")

</div>

> [@neounix](#):
>
> build Docker standard senza un reverse proxy esterno

Sì, e sto anche seguendo questa guida [Run other websites on the same machine as Discourse](https://meta.discourse.org/t/running-other-websites-on-the-same-machine-as-discourse/17247)

---

<div class="post-metadata">

### Author: ![neounix](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/neounix/32/215617_2.png) [@neounix](https://meta.discourse.org/u/neounix)
#### Post date: [18 Agosto 2020, 8:36am UTC](https://meta.discourse.org/t/i-cant-set-nginx-emerg-cannot-load-certificate-var-discourse-shared-standalone-ssl-ssl-crt-bio-new-file-failed/160976/9 "2020-08-18T08:36:25Z")

</div>

> [@slivo](#):
>
> sì, e sto anche seguendo questa guida

Ciao @slivo,

Nel link sopra, viene descritta una configurazione per eseguire Discourse in un contenitore Docker, esponendo l’applicazione tramite una socket UNIX a un reverse proxy.

In questo caso, NON dovresti abilitare SSL nel file `yml` del contenitore; invece, DOVRESTI configurare SSL con Let’s Encrypt utilizzando `certbot` all’esterno del contenitore, direttamente sul reverse proxy.

L’architettura generale ad alto livello è la seguente:

```plaintext
UTENTI WEB <-- HTTPS --> REVERSE PROXY <-- HTTP --> CONTENITORE DOCKER

```

Per favore, pubblica il tuo file `yml` oscurando con xxxx le password e gli indirizzi email; così potremo vedere cosa stai utilizzando.

Grazie.

---

<div class="post-metadata">

### Author: ![slivo](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/slivo/32/186825_2.png) [@slivo](https://meta.discourse.org/u/slivo)
#### Post date: [19 Agosto 2020, 8:22am UTC](https://meta.discourse.org/t/i-cant-set-nginx-emerg-cannot-load-certificate-var-discourse-shared-standalone-ssl-ssl-crt-bio-new-file-failed/160976/10 "2020-08-19T08:22:18Z")

</div>

Ma ora non capisco. Allora ho creato un nuovo certificato usando certbot. E ce l’ho qui così:

> /etc/letsencrypt/live/myadress.com/fullchain.pem  
> Il tuo file di chiave è stato salvato in:  
> /etc/letsencrypt/live/myadress.com/privkey.pem

Devo cambiare l’indirizzo in questo file o in /etc/nginx/sites-enabled/discourse.conf, oppure sto facendo tutto completamente sbagliato?

---

<div class="post-metadata">

### Author: ![neounix](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/neounix/32/215617_2.png) [@neounix](https://meta.discourse.org/u/neounix)
#### Post date: [19 Agosto 2020, 10:21am UTC](https://meta.discourse.org/t/i-cant-set-nginx-emerg-cannot-load-certificate-var-discourse-shared-standalone-ssl-ssl-crt-bio-new-file-failed/160976/11 "2020-08-19T10:21:49Z")

</div>

Ciao @slivo,

Quando configuri un reverse proxy davanti a un’altra applicazione con un’istanza di nginx: devi essere molto specifico riguardo alla posizione dei file di configurazione, all’interno o all’esterno del container?

---

<div class="post-metadata">

### Author: ![slivo](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/slivo/32/186825_2.png) [@slivo](https://meta.discourse.org/u/slivo)
#### Post date: [19 Agosto 2020, 5:31pm UTC](https://meta.discourse.org/t/i-cant-set-nginx-emerg-cannot-load-certificate-var-discourse-shared-standalone-ssl-ssl-crt-bio-new-file-failed/160976/12 "2020-08-19T17:31:44Z")

</div>

> [@neounix](#):
>
> Quando configuri un reverse proxy davanti a un’altra applicazione con un’istanza di nginx: devi essere molto specifico riguardo alla posizione dei file di configurazione, dentro o fuori dal contenitore?

Non sono sicuro di aver capito appieno. Voglio semplicemente avere Discourse dietro nginx. Non ho un’altra applicazione sul server, ma vorrei configurarlo per maggiore protezione dall’esterno.

---

<div class="post-metadata">

### Author: ![neounix](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/neounix/32/215617_2.png) [@neounix](https://meta.discourse.org/u/neounix)
#### Post date: [20 Agosto 2020, 2:31am UTC](https://meta.discourse.org/t/i-cant-set-nginx-emerg-cannot-load-certificate-var-discourse-shared-standalone-ssl-ssl-crt-bio-new-file-failed/160976/13 "2020-08-20T02:31:17Z")

</div>

> [@slivo](#):
>
> Non sono sicuro di aver capito pienamente. Vorrei semplicemente avere Discourse dietro nginx. Non ho altre applicazioni sul server, ma vorrei configurarlo per maggiore protezione dall’esterno.

Ciao @slivo,

Capisco la tua frustrazione. Lascia che ti spieghi gentilmente.

In uno dei tuoi messaggi precedenti hai scritto:

```plaintext
/etc/letsencrypt/live/myadress.com/fullchain.pem
Il tuo file chiave è stato salvato in:
/etc/letsencrypt/live/myadress.com/privkey.pem

```

Non hai specificato se ti trovi all’interno del contenitore Docker o all’esterno.

Come sai, `nginx` (nel tuo caso) è in esecuzione sia direttamente sull’host che all’interno dell’app (il contenitore Docker).

Quando scrivi:

```plaintext
/etc/letsencrypt/live/myadress.com/fullchain.pem
Il tuo file chiave è stato salvato in:
/etc/letsencrypt/live/myadress.com/privkey.pem

```

Come possiamo noi, che siamo esterni, sapere esattamente a cosa ti riferisci se non fornisci tutte le informazioni? Quella configurazione si trova all’interno o all’esterno del contenitore? Possiamo “indovinare” e “presumere” che tu ti stia riferendo all’esterno del contenitore, ma poiché non fornisci questi dettagli, non possiamo esserne certi. La mia esperienza è che la strada più breve per risolvere un problema è non dare mai nulla per scontato e prestare molta attenzione ai dettagli.

Inoltre, non hai condiviso il tuo file `yml`. Non hai nemmeno condiviso i file di configurazione di `nginx` esterni al contenitore. Di conseguenza, non possiamo “vedere” cosa stai effettivamente facendo nella tua configurazione.

Spero ti sia utile (HTH).
