Nginx Configuration — Reverse Proxy and Load Balancer

Sanjeev SharmaSanjeev Sharma
1 min read

Advertisement

Nginx Configuration — Reverse Proxy and Load Balancer

Nginx is a high-performance web server and load balancer for routing traffic.

Reverse Proxy

server {
  listen 80;
  server_name example.com;

  location / {
    proxy_pass http://backend:3000;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
  }
}

Load Balancing

upstream backend {
  server app1:3000;
  server app2:3000;
  server app3:3000;
}

server {
  listen 80;
  location / {
    proxy_pass http://backend;
  }
}

SSL/TLS

server {
  listen 443 ssl;
  server_name example.com;

  ssl_certificate /etc/ssl/certs/certificate.pem;
  ssl_certificate_key /etc/ssl/private/key.pem;

  location / {
    proxy_pass http://backend:3000;
  }
}

FAQ

Q: Should I use Nginx or HAProxy? A: Both excellent. Nginx lighter; HAProxy more customizable.

Advertisement

Sanjeev Sharma

Written by

Sanjeev Sharma

Full Stack Engineer · E-mopro