Unix:/var/discourse/shared/standalone/nginx.http.sock (2: Aucun fichier ou répertoire de ce type) [RÉSOLU]

Bonjour à tous,

J’ai obtenu une erreur 502 Bad Gateway sur mon site web et je n’arrive pas à résoudre ce problème avec 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/" "

Voici mon fichier discourse.conf

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

}

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

    ssl on;
    ssl_certificate /etc/letsencrypt/live/mydomain.net/fullchain.pem; # géré par Certbot
    ssl_certificate_key /etc/letsencrypt/live/mydomain.net/privkey.pem; # géré par Certbot
    ssl_dhparam /etc/letsencrypt/live/mydomain.net/dhparams.pem;
    include /etc/nginx/snippets/ssl.conf;

    http2_idle_timeout 5m; # augmenté par rapport à la valeur par défaut de 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;

    }
}

Mon fichier app.yml

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/sshd.template.yml"
  - "templates/web.ratelimited.template.yml"
## Décommentez ces deux lignes si vous souhaitez ajouter Lets Encrypt (https)
  - "templates/web.ssl.template.yml"
  - "templates/web.letsencrypt.ssl.template.yml"
##  - "templates/web.socketed.template.yml"
## Quels ports TCP/IP ce conteneur doit-il exposer ?
## Si vous souhaitez que Discourse partage un port avec un autre serveur web comme Apache ou nginx,
## consultez https://meta.discourse.org/t/17247 pour plus de détails
#expose:
# - "2045:80"   # http
# - "1443:443" # https

J’ai essayé de décommenter “templates/web.socketed.template.yml” également, mais le résultat dans le journal d’erreurs Nginx reste le même. Que dois-je faire pour résoudre ce problème ? Je suis à court d’idées. Merci de votre aide ;/

1 « J'aime »

Je ne suis pas un expert, et sauf erreur de ma part, si vous optez pour la méthode des sockets, vous devrez probablement décommenter web.socketed.template.

1 « J'aime »

Hé, je l’ai déjà fait et j’obtiens le même résultat.

1 « J'aime »

Je viens de tester sur mon installation (j’utilisais l’autre méthode avec un port à l’écoute) et cela fonctionne.

Vous devez vous assurer que :

  • Les modèles SSL/Let’s Encrypt sont commentés, car ils sont déjà gérés par votre configuration Nginx externe.
  • Vous reconstruisez l’application afin que le fichier nginx.http.sock apparaisse dans /var/discourse/shared/standalone/.
5 « J'aime »

Assurez-vous que :

  • Les modèles SSL/Let’s Encrypt sont commentés, car ils sont déjà gérés par votre configuration Nginx externe.
  • Vous reconstruisez l’application afin que le fichier nginx.http.sock apparaisse dans /var/discourse/shared/standalone/.

D’accord, mais que se passera-t-il alors avec cette ligne ? L’erreur 502 Gateway a disparu et le site est en ligne, mais je vois toujours la même erreur Nginx à cause de cette ligne.

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

SSL ne semble pas fonctionner et les images ne s’affichent pas. J’ai téléchargé un logo lors de la configuration du forum.

2 « J'aime »

Si ce n’est pas déjà fait, essayez d’activer l’option Discourse force https (onglet Sécurité)

4 « J'aime »

OMGGG!!! Mille merci <3. Je te dois des fruits :smiley:. Et maintenant, je dois trouver comment faire fonctionner SMTP, car avec Yandex, ça ne marchait pas et je ne reçois aucun e-mail lors de l’inscription des utilisateurs de test.

3 « J'aime »

J’ai essayé toutes les suggestions ci-dessus, mais je rencontre toujours une erreur 502 Bad Gateway. Pour l’instant, je n’utilise pas HTTPS.

Voici mon erreur :

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

Voici mon fichier /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;
        }
}

Voici la section de modèle du fichier /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;
        }
}

Merci de me conseiller.

1 « J'aime »