Hay un servidor WebSocket que no puedo modificar y no quiero que todos envíen solicitudes a este. Quiero agregar algo como la autenticación básica HTTP al WebSocket para que no permita que todas las solicitudes pasen al servidor real. Estoy usando Nginx y quiero apegarme a él, pero si hay algún otro programa que logre esto, estoy de acuerdo con eso también.
Gracias a Lawrence, revisé los documentos para subsolicitudes y esto funciona ahora, después de escribir un servidor de autenticación con node.js
server { location /ws { auth_request /auth; auth_request_set $auth_status $upstream_status; proxy_pass http://localhost:1234; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } location /auth { internal; proxy_pass http://localhost:3003; proxy_pass_request_body off; proxy_set_header Content-Length ""; proxy_set_header X-Original-URI $request_uri; proxy_set_header X-Original-Remote-Addr $remote_addr; proxy_set_header X-Original-Host $host; } }