worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; etag off; sendfile on; keepalive_timeout 300; client_header_timeout 300s; client_body_timeout 300s; client_max_body_size 100M; server { listen 8080; server_name localhost; root /app/portal/dist; index index.html; location / { root /app/portal/dist; index index.html; try_files $uri $uri/ /index.html; } location ~ .*\.(css|js|json|png|jpg|jpeg|gif)$ { root /app/portal/dist; if (-f $request_filename) { expires 11111d; break; } } location /api/ { proxy_pass ${GATEWAY_BACKEND_URL}/api/; proxy_connect_timeout 300; proxy_send_timeout 600; proxy_read_timeout 600; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } include conf.d/*; }