Unix:/var/discourse/shared/standalone/nginx.http.sock (2: Datei oder Verzeichnis nicht gefunden) [GELÖST]

Hallo zusammen,

ich habe einen 502 Bad Gateway-Fehler auf meiner Website und komme mit nginx.http.sock nicht weiter.

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/" "

Hier ist meine discourse.conf

server {
    listen 80;
    listen [::]:80;
    server_name mydmain.net www.mydomain.net;  # <-- ändern Sie dies

}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name mydomain www.mydomain.net;  # <-- ändern Sie dies

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

    http2_idle_timeout 5m; # erhöht von der Standardzeit von 3m

    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;

    }
}

Meine app.yml

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/sshd.template.yml"
  - "templates/web.ratelimited.template.yml"
## Deaktivieren Sie diese beiden Zeilen, wenn Sie Lets Encrypt (https) hinzufügen möchten
  - "templates/web.ssl.template.yml"
  - "templates/web.letsencrypt.ssl.template.yml"
##  - "templates/web.socketed.template.yml"
## Welche TCP/IP-Ports soll dieser Container freigeben?
## Wenn Sie möchten, dass Discourse einen Port mit einem anderen Webserver wie Apache oder nginx teilt,
## sehen Sie unter https://meta.discourse.org/t/17247 für Details nach
#expose:
# - "2045:80"   # http
# - "1443:443" # https

Ich habe versucht, auch “templates/web.socketed.template.yml” zu aktivieren, aber das Ergebnis im Nginx-Fehlerprotokoll bleibt gleich. Was muss ich tun, um dieses Problem zu lösen? Ich habe keine Ideen mehr. Bitte helfen Sie ;/

Ich bin kein Experte, und wenn ich mich nicht irre, musst du, wenn du dich für die Socket-Methode entscheidest, wahrscheinlich web.socketed.template auskommentieren.

Hey, ich habe das schon gemacht und erhalte dasselbe Ergebnis.

Gerade auf meiner Installation ausprobiert (hatte zuvor die andere Methode mit einem lauschenden Port verwendet), und es funktioniert.

Du musst sicherstellen, dass:

  • SSL/Let’s Encrypt-Vorlagen auskommentiert sind, da dies bereits durch deine externe Nginx-Konfiguration übernommen wird.
  • Die App neu erstellt wird, damit die Datei nginx.http.sock in /var/discourse/shared/standalone/ erscheint.

Stellen Sie sicher, dass

  • SSL/Let’s Encrypt-Vorlagen auskommentiert sind, da dies bereits durch Ihre externe Nginx-Konfiguration geregelt wird.
  • Die App neu erstellt wird, damit die Datei nginx.http.sock in /var/discourse/shared/standalone/ erscheint.

Okay, aber was passiert dann mit dieser Zeile? Der 502-Gateway-Fehler ist verschwunden und die Website ist erreichbar, doch ich sehe denselben Nginx-Fehler aufgrund dieser Zeile.

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

SSL scheint nicht zu funktionieren, und die Bilder werden nicht angezeigt. Ich habe beim Einrichten des Forums ein Logo hochgeladen.

Falls noch nicht geschehen, aktivieren Sie die Discourse-Option force https (Reiter Sicherheit).

OMGGG!!! VIELEN, VIELEN DANK <3. Ich schulde dir ein paar Früchte :smiley:. Und ich muss noch herausfinden, wie ich SMTP zum Laufen bringe, denn mit Yandex hat es nicht funktioniert und ich bekomme keine E-Mails, wenn ich Testbenutzer registriere.

Ich habe alle oben genannten Vorschläge ausprobiert, bekomme aber weiterhin den Fehler 502 Bad Gateway. Derzeit verwende ich kein HTTPS.

Hier ist mein Fehler:

> 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/"

Hier ist meine Datei /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;
        }
}

Hier ist der Template-Abschnitt aus /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;
        }
}

Bitte geben Sie mir einen Rat.