upstream mcrates_api { server api:41337; } upstream mcrates_ws { server api:40055; } upstream mcrates_client { server client:8080; } map $http_upgrade $connection_upgrade { default upgrade; '' close; } server { location / { proxy_pass http://mcrates_client; proxy_read_timeout 600s; } location /api/ws { proxy_pass http://mcrates_ws; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_read_timeout 600s; } location /api/ { # trailing slash means api will receive url WITHOUT /api proxy_pass http://mcrates_api/; proxy_read_timeout 600s; } }