Proxy nginx websocket

Bonjour,
Je souhaiterai réaliser un reverse proxy avec yunohost pour faire fonctionner l’application glowing-bears.
Pour le moment j’ai configuré nginx comme ceci :

weechat.conf :

location /weechat/ {
         client_max_body_size 500M;
         proxy_pass http://127.0.0.1:9010/weechat;
         proxy_set_header       Host $host;
         proxy_redirect off;
         proxy_buffering off;
         proxy_set_header X-Real-IP        $remote_addr;
         proxy_set_header X-Forwarded-For  $proxy_add_x_forwarded_for;
         proxy_read_timeout 300;
         proxy_connect_timeout 300;
         proxy_http_version 1.1;
         proxy_set_header Upgrade $http_upgrade;
         proxy_set_header Connection "upgrade";
}

J’ai également ajouté dans ssowat.conf.persistent :slight_smile:
{
“skipped_urls”: [
enna.me/weechat/
]
}

Il semblerait que websocket ne soit pas fonctionnel.
J’ai cette erreur dans la console firefox lorsque j’execute glowing-bears:
Firefox ne peut établir de connexion avec le serveur à l’adresse wss://mon_host.me/weechat.

Quelqu’un aurai une idée ?

Tu peux aller vérifier le fichier d’erreur nginx dans /var/log/nginx/enna.me-error.log (de mémoire…) pour voir s’il n’y a pas de problèmes avec les “/” ou autre.

La solution la plus simple est d’effectuer la redirection avec l’app redirect_ynh qui va faire tout le sale boulot pour toi. :wink:

Merci, j’ai installé redirect_ynh qui m’a installé un proxy. Par contre les websockets n’étaient toujours pas fonctionnels. J’ai donc ajouté ca. Voici la conf qui est généré par redirect_ynh + les webscokets :

cat /etc/nginx/conf.d/enna.me.d/redirect.conf

        location /weechat {
          proxy_pass        http://127.0.0.1:9010/weechat;
          proxy_redirect    off;
          proxy_set_header  Host $host;
          proxy_set_header  X-Real-IP $remote_addr;
          proxy_set_header  X-Forwarded-Proto $scheme;
          proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header  X-Forwarded-Host $server_name;
          
         # Websockets
          proxy_http_version 1.1;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection "upgrade";

          # Include SSOWAT user panel.
          include conf.d/yunohost_panel.conf.inc;
          more_clear_input_headers 'Accept-Encoding';
        }

Il faut donc rajouter ces 3 lignes:

  proxy_http_version 1.1;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection "upgrade";
1 Like