worker_processes 1; events { worker_connections 1024; } http { server { server_name public.purplebirdman.com; location / { proxy_pass http://public_web; proxy_set_header Host $host; } } server { server_name go.purplebirdman.com; location / { proxy_pass http://go_httpd; proxy_set_header Host $host; } location /ws { proxy_pass http://go_socket:3000; # websocket magic proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $host; } } }