worker_processes 1; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; types { application/manifest+json webmanifest; } sendfile off; keepalive_timeout 65; server { listen 80; server_name localhost; location / { expires off; add_header Cache-Control "public, max-age=0, s-maxage=0, must-revalidate" always; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $host; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_redirect off; proxy_pass http://localhost:81; } location /backend { expires off; add_header Cache-Control "public, max-age=0, s-maxage=0, must-revalidate" always; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $host; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_redirect off; rewrite ^/backend/?(.*) /$1 break; proxy_pass http://backend:8080; } } }