Code-Memo

Reverse proxies (Nginx, HAProxy)

Reverse proxy vs forward proxy

Common use cases

Nginx (example)

Minimal reverse proxy:

server {
  listen 80;
  server_name example.local;

  location / {
    proxy_pass http://127.0.0.1:8080;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
  }
}

Reload:

sudo nginx -t
sudo systemctl reload nginx

HAProxy (example)

frontend fe_http
  bind *:80
  default_backend be_app

backend be_app
  balance roundrobin
  server app1 127.0.0.1:8080 check
  server app2 127.0.0.1:8081 check

Headers you usually want