Comment configurer Elixir, NGINX, Websockets sur le serveur

Je mets en place un serveur avec une application Phoenix qui utilisera les websockets. Localement, WebSocket fonctionne, mais j’ai des problèmes pour le configurer sur mon serveur de transfert. Est-ce que quelqu’un peut m’aider à configurer des websockets sur mon serveur? J’ai nginx configuré comme ceci:

map $http_upgrade $connection_upgrade { default upgrade; '' close; } upstream my_app { server 0.0.0.0:6443; } server { listen 80; listen 443; server_name example.com; ssl on; ssl_certificatee /path/to/wildcard.crt; ssl_certificatee_key /path/to/wildcard.key; ssl_prefer_server_ciphers on; if ($request_uri ~ "^[^?]*//") { rewrite "(.*)" $scheme://$host$1 permanent; } if ( $scheme = http ){ rewrite ^ https://$host$request_uri permanent; } location / { allow all; proxy_http_version 1.1; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-Cluster-Client-Ip $remote_addr; # WebSockets proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_pass https://my_app; } } 

et ma configuration Phoenix est:

 use Mix.Config config :my_app_core, MyAppCoreWeb.Endpoint, load_from_system_env: false, url: [host: "https://example.com", port: {:system, "PORT"}], http: [port: {:system, "PORT"}], https: [otp_app: :my_app_core, port: 6443, keyfile: "/path/to/wildcard.key", certfile: "/path/to/wildcard.crt"], server: true, root: ".", watchers: [], version: Mix.Project.config[:version], check_origin: false config :logger, :console, format: "[$level] $message\n" config :phoenix, :stacktrace_depth, 2 config :phoenix, :serve_endpoints, true import_config "workspace.secret.exs" 

Je teste la connexion avec http://phxsockets.io/ et je reçois

 failed: Error during WebSocket handshake: Unexpected response code: 400 

Quelqu’un peut-il aider avec cela?

    La configuration ci-dessus fonctionne. Le problème de mon côté était d’utiliser le mauvais fichier de configuration nginx contenant les anciens parameters.