Skip to content

Nginx Reverse Proxy

This documentation provides step-by-step guidance for setting up Nginx reverse proxy in different deployment scenarios.

A reverse proxy can be used to:

  • Distribute incoming traffic across multiple backend servers (load balancing)
  • Seamlessly serve content from multiple websites or applications
  • Pass requests to backend services over protocols other than HTTP
  • Enhance security by hiding backend server details from the public

Whether you are running a single-node home lab or building a highly available production setup, this guide will walk you through the configuration process.

Deployment Scenarios

Choose the deployment model that best fits your environment:

  1. Standalone Deployment: A single NGINX instance handling all reverse proxy functions. Ideal for small-scale environments or development use cases.
  2. High Availability (HA) Deployment: An Active–Standby architecture with automatic failover using Keepalived and configuration synchronization using Unison. Suitable for production workloads requiring zero downtime during maintenance.
  3. Common Nginx Configurations: A set of reusable Nginx configuration snippets for common reverse proxy scenarios — including SSL termination, caching, load balancing, and WebSocket support.

Tip

If you are unsure where to start, begin with the Standalone Deployment guide to get familiar with Nginx Reverse Proxy basics, then move on to High Availability when you need redundancy and failover capabilities.