A reverse proxy is a server that sits between internal applications and external clients, forwarding client requests to the appropriate server. While many common applications, such as Node.js, are able to function as servers on their own, NGINX has a number of advanced load balancing, security, and acceleration features that most specialized applications lack. Using NGINX as a reverse proxy enables you to add these features to any application.

Basic Configuration for an NGINX Reverse Proxy

server_name example.com;

location / { proxy_pass http://localhost:3000/; proxy_buffering off; # optional proxy_set_header X-Real-IP $remote_addr; # optional proxy_set_header Host $host; # optional

} }