Unix:/var/discourse/shared/standalone/nginx.http.sock (2: File o directory non esistente) [RISOLTO]

Ciao a tutti,

Ho ottenuto un errore 502 Bad Gateway sul mio sito web e non riesco a risolvere questo problema con nginx.http.sock.

Nginx error.log

[crit] 14339#14339: *1 connect() to unix:/var/discourse/shared/standalone/nginx.http.sock failed (2: No such file or directory) while connecting to upstream, client: **.***.***.***, server: mydomain.net, request: "GET / HTTP/2.0", upstream: "http://unix:/var/discourse/shared/standalone/nginx.http.sock:/", host: "mydomain.net", referrer: "https:/mydomain.net/" "

Di seguito il mio discourse.conf

server {
    listen 80;
    listen [::]:80;
    server_name mydmain.net www.mydomain.net;  # <-- modifica questo

}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name mydomain www.mydomain.net;  # <-- modifica questo

    ssl on;
    ssl_certificate /etc/letsencrypt/live/mydomain.net/fullchain.pem; # gestito da Certbot
    ssl_certificate_key /etc/letsencrypt/live/mydomain.net/privkey.pem; # gestito da Certbot
    ssl_dhparam /etc/letsencrypt/live/mydomain.net/dhparams.pem;
    include /etc/nginx/snippets/ssl.conf;

    http2_idle_timeout 5m; # aumentato da 3m (valore predefinito)

    location / {
        proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock;
        proxy_set_header Host $http_host;
        proxy_http_version 1.1;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
        proxy_set_header X-Real-IP $remote_addr;

    }
}

Il mio app.yml

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/sshd.template.yml"
  - "templates/web.ratelimited.template.yml"
## Scommenta queste due righe se desideri aggiungere Lets Encrypt (https)
  - "templates/web.ssl.template.yml"
  - "templates/web.letsencrypt.ssl.template.yml"
##  - "templates/web.socketed.template.yml"
## quali porte TCP/IP dovrebbe esporre questo contenitore?
## Se vuoi che Discourse condivida una porta con un altro server web come Apache o nginx,
## consulta https://meta.discourse.org/t/17247 per i dettagli
#expose:
# - "2045:80"   # http
# - "1443:443" # https

Ho provato a scommentare anche “templates/web.socketed.template.yml”, ma ottengo lo stesso risultato nel log degli errori di Nginx. Cosa devo fare per risolvere questo problema? Mi sono esaurite le idee. Aiutatemi, per favore ;/

Non sono un esperto, e a meno che non mi sbagli, se scegli la modalitĂ  socket, probabilmente devi decommentare web.socketed.template.

Ehi, l’ho già fatto e ho ottenuto lo stesso risultato.

Appena provato sulla mia installazione (stavo usando l’altro metodo con l’ascolto di una porta) e funziona.

Devi assicurarti che:

  • I template SSL/Let’s Encrypt siano commentati, poichĂ© sono giĂ  gestiti dalla tua configurazione esterna di Nginx.
  • Ricompili l’applicazione in modo che il file nginx.http.sock appaia in /var/discourse/shared/standalone/.

Assicurati che:

  • i modelli SSL/Let’s Encrypt siano commentati, poichĂ© sono giĂ  gestiti dalla tua configurazione Nginx esterna.
  • Ricompili l’applicazione in modo che il file nginx.http.sock appaia in /var/discourse/shared/standalone/

Ok, ma cosa succederà a questa riga? L’errore 502 gateway è sparito e il sito è attivo, ma vedo lo stesso errore nginx a causa di questa riga.

location / {
        proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock;

SSL sembra non funzionare e le immagini non vengono visualizzate. Ho caricato un logo durante la configurazione del forum.

Se non è già stato fatto, prova ad abilitare l’opzione Discourse force https (scheda Sicurezza)

OMGGG!!! Grazieeee tantissimoo <3. Ti devo un po’ di frutta :smiley:. Ora devo capire come far funzionare SMTP, perché con Yandex non ha funzionato e non ricevo alcuna email quando registro utenti di test,

Ho provato tutti i suggerimenti sopra riportati, ma ricevo ancora l’errore 502 Bad Gateway. Per ora non sto utilizzando HTTPS.

Di seguito il mio errore:

> 2020/04/02 00:17:54 [crit] 18599#18599: *1 connect() to unix:/var/discourse/shared/standalone/nginx.http.sock failed (2: No such file or directory) while connecting to upstream, client: xx.xxx.xxx.xx, server: talk.mydomain.com, request: "GET / HTTP/1.1", upstream: "http://unix:/var/discourse/shared/standalone/nginx.http.sock:/", host: "talk.mydomain.com"
> 
> 2020/04/02 00:17:54 [crit] 18599#18599: *1 connect() to unix:/var/discourse/shared/standalone/nginx.http.sock failed (2: No such file or directory) while connecting to upstream, client: xx.xxx.xxx.xx, server: talk.mydomain.com, request: "GET /favicon.ico HTTP/1.1", upstream: "http://unix:/var/discourse/shared/standalone/nginx.http.sock:/favicon.ico", host: "talk.mydomain.com", referrer: "http://talk.mydomain.com/"

Di seguito il mio file /etc/nginx/sites-enabled/discourse.conf:

server {
        listen 80; listen [::]:80;
        server_name talk.mydomain.com;
        location / {
                proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock;
                proxy_set_header Host $http_host;
                proxy_http_version 1.1;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header X-Real-IP $remote_addr;
        }
}

Di seguito la sezione del template del file /var/discourse/containers/app.yml:

server {
        listen 80; listen [::]:80;
        server_name talk.mydomain.com;
        location / {
                proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock;
                proxy_set_header Host $http_host;
                proxy_http_version 1.1;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header X-Real-IP $remote_addr;
        }
}

Vi chiedo gentilmente un consiglio.