worker_processes auto; ## Default: 1 worker_rlimit_nofile 8192; events { worker_connections 1024; ## Default: 1024 } http { sendfile on; tcp_nopush on; log_not_found off; gzip on; include mime.types; # web pages might not be rendered properly if mime.types not included default_type application/octet-stream; client_max_body_size 500M; keepalive_timeout 30s; upstream backend { server localhost:9001; } # the Connection header will be correctly set to close when the Upgrade header in the request is set to ''. map $http_upgrade $connection_upgrade { default upgrade; '' close; } server { listen 9000; # This is the default block since / matches all requests. # It should be used to serve static files. location / { # Search ./resources/xxx first; # if not found, search ./resources/index.html instead; # if still not found, respond 404. root ./resources; try_files $uri /index.html =404; } # Both the trailing slashes in location and proxy_pass matter # because if the proxy_pass directive is specified with a URI, # then when a request is passed to the server, # the part of a normalized request URI matching the location is replaced by a URI specified in the directive location /api/ { # /api/** will be forwarded to http://backend/** proxy_pass http://backend/; # For NGINX to send the Upgrade request from the client to the backend server, # the Upgrade and Connection headers must be set explicitly proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; } location = /allocation/assignment { # This is an exact match. # /allocation/assignment will be forwarded to http://backend/allocation/assignment proxy_pass http://backend; } location /get/ { # /get/** will be forwarded to http://backend/get/** proxy_pass http://backend; } location = /export/taskTableDataExport { proxy_pass http://backend; } location = /task/createTaskByXmlFile { proxy_pass http://backend; } } }