upstream backendAPI { server backendAPI:4008; } upstream serverAPI { server serverAPI:4007; } upstream serverRealtime { server serverAPI:4011; } upstream redoc { server redoc:4010; } map $http_upgrade $connection_upgrade { default upgrade; '' close; } server { listen 4009; location / { index index.html index.htm; root /usr/share/nginx/html; try_files $uri /index.html; } location /api { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-NginX-Proxy true; proxy_pass http://backendAPI/api; proxy_ssl_session_reuse off; proxy_set_header Host $http_host; proxy_cache_bypass $http_upgrade; proxy_redirect off; } location /server/api { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-NginX-Proxy true; proxy_pass http://serverAPI/api; proxy_ssl_session_reuse off; proxy_set_header Host $http_host; proxy_cache_bypass $http_upgrade; proxy_redirect off; } location /server/realtime { proxy_pass http://serverRealtime; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_pass_request_headers on; } location /api-docs { proxy_pass http://redoc/; } # redoc static files location /redoc { proxy_pass http://redoc/redoc; } }