2 votes

Configuration de nginx prod pour une application Clojure WebSocket

J'essaie de déployer ma première application Clojure WebSocket et je pense que j'y suis presque. J'obtiens une bonne réponse localement, et il semble que le point de terminaison veuille faire face au monde extérieur (je vois que le port est ouvert lorsque j'exécute la commande netstat ), mais aucune réponse. Je suis certain d'avoir mal configuré quelque chose dans nginx .

J'héberge déjà quelques autres sites web sur ce serveur, je veux juste ajouter la configuration nécessaire pour que les requêtes adressées à wss://domain.com:8001 pour communiquer avec mon application.

Voici l'entrée de localisation que j'utilise actuellement :

location / {
  proxy_pass http://localhost:8001;
  proxy_http_version 1.1;
  proxy_set_header Connection "";
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header Host $http_host;
  proxy_set_header X-Forwarded-Proto $scheme;
  proxy_redirect off;
  access_log /var/www/logs/test.access.log;
  error_log /var/www/logs/test.error.log;
}

Quelqu'un pourrait-il m'orienter dans la bonne direction ? Je pense qu'il y a trop de choses dans la configuration et que ce qui s'y trouve n'est probablement pas correct.

** EDITAR: ** Pour les personnes intéressées, j'ai mis en ligne ma configuration de travail (basée sur la réponse d'Erik Dannenberg) dans un fichier Gist .

1voto

Erik Dannenberg Points 2810

Il vous manque deux autres en-têtes, une configuration minimale de travail :

location  /  {
    proxy_pass http://backend;
    proxy_http_version 1.1;
    # add the two below
    proxy_set_header Upgrade websocket;
    proxy_set_header Connection upgrade;
    # optional, but helpful if you run into timeouts
    proxy_read_timeout 86400;
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X