I have a NodeJS backend running on a server on port 3000
the requests are arriving on port 80
now in /etc/nginx/sites-available/node
I have the following config
server {
listen 80 default_server;
server_name name.example;
return 301 http://195.x.x.x:3000;
}
when a request reach the server it redirects to port 3000
but when a request like http://195.x.x.x/api/test/test
it also redirects to http://195.x.x.x:3000
how can I redirect to port 3000 and keep the same url like http://195.x.x.x:3000/api/test/test
2
Answers
Found the answer right after posting the question it was
$request_uri
I should have butWhy are you returning a 301 code, if you just want to forward requests and return them through your server you would be better using proxy_pass why are you redirecting them?
You can setup a reverse proxy using NGINX like this:
However if you truly do want to redirect them, you should change
return 301 http://195.x.x.x:3000;
toreturn 301 http://195.x.x.x:3000$request_uri;