I am using Nginx as a reverse proxy. I assume I have a domain like test.com and a location block with a path like /test. the location would proxy_pass to another website like http://test2.com. when I type the URL on the browser, it redirects the first request to the application (http://test.com/test/ --> http://test2.com/). However, All the incoming requests would be sent without the location which I did not define on Nginx. How can I make all the incoming requests follow that path? I want something like this:
first request: http://test.com/test/ --> http://test.com
incoming requests: http://test.com/test/statifile.js
http://test.com/test/api/something and so on...
server { listen 80; charset utf-8; server_name test.com; location = /auth/test{ internal; proxy_pass http://test.com/test/decisions/; proxy_pass_request_body off; proxy_set_header Content-Length ''; proxy_set_header X-Original-URI $request_uri; } location = /test/decisions/ { 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_set_header X-Forwarded-Proto $scheme; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $http_connection; proxy_set_header Authorization $http_authorization; proxy_pass http://valid.domain/test/api/authorization; } location /test/ { auth_request /auth/test; auth_request_set $auth_status $upstream_status; 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_set_header X-Forwarded-Proto $scheme; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $http_connection; proxy_set_header Authorization $http_authorization; proxy_pass https://test2.com/; proxy_pass_header Server; proxy_http_version 1.1; proxy_redirect default; access_log /var/log/nginx/access.log; client_max_body_size 10240M; } }