DIY nginx Reverse Proxy vs Privateflare: build it yourself or go managed

The classic setup when you run a lot of domains — hundreds of them on cheap VPS running nginx as a reverse proxy, with all content on one powerful backend. The proxies hide the real server, spread load and split domains across different IPs. It works — but across dozens of nodes the manual upkeep eats time and raises the risk of mistakes that take domains and campaigns down.

If you run traffic, the setup is familiar: cheap VPS ($2–10) hold the domains and work purely as nginx proxies, while the heavy content, landers and tracker live on one high-performance backend. That way the real server never shows, domains are split across different IPs, and junk traffic and abuse hit the cheap node instead of the origin.

Why the reverse-proxy setup

How it works on nginx

The domain resolves to a proxy VPS. On the node, nginx accepts the request and forwards it via proxy_pass to an upstream — your powerful backend. The real visitor IP is passed in headers (X-Real-IP / X-Forwarded-For) so the backend and tracker see the genuine address, and you can enable gzip and cache on the proxy. In its minimal form it looks like this:

upstream backend { server 10.0.0.5:443; }
server {
    listen 443 ssl;
    server_name lander.example;
    location / {
        proxy_pass https://backend;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

Where the manual setup hurts

On one or two nodes it's simple. The pain starts when you have hundreds of domains across dozens of nodes — that's where hand-rolled nginx eats your time:

Privateflare runs the exact same architecture — proxy nodes in front of your backend — but managed from one dashboard. Auto-SSL for every domain, instant config propagation across all nodes at once, built-in monitoring with Telegram alerts and bulk domain add via API. It stays self-hosted — the infrastructure is yours — with native Keitaro and Binom support. And nothing extra is stored on the node itself.

What the platform takes off your plate

The real win of the managed setup is time and quality: the toil disappears, and the chance of an error that drops a domain or campaign falls sharply.

How to run it on Privateflare instead of hand-rolled nginx

  1. Add your domains and backend (origin) — the private IP or address of your content server.
  2. Spread domains across nodes and IPs right from the dashboard, with no manual nginx setup on each VPS.
  3. Enable auto-SSL, cache and WAF — certificates issue and renew themselves and the config applies across every node at once.
  4. The real visitor IP is forwarded to the backend in headers out of the box — tracker stats stay intact.
  5. Firewall the backend to the node IPs, and run bulk operations via the API.

If a node gets blocked, migration takes just minutes and is easy to automate — no manually spinning up nginx and re-issuing certificates.

Our philosophy. We don't interfere with a client's business unless asked. We store nothing extra — only configs and settings — and give you convenient tools. Everything else is up to you.

FAQ

How does an nginx reverse proxy help an affiliate?

Your lander and tracker domains point at cheap VPS proxies, while all content lives on one powerful backend. The proxies hide the real server, split domains across different IPs and take the load. If one node gets banned the rest keep working, and the origin stays invisible.

Is the real visitor IP forwarded to the backend?

Yes. On the proxy, nginx forwards the real visitor IP in the X-Real-IP and X-Forwarded-For headers, so the backend and your tracker see the genuine address and clicks, redirects and postbacks work without distorting your stats.

Why is a managed platform better than hand-rolled nginx?

A manual setup means issuing and renewing SSL by hand on every domain, syncing configs across dozens of nodes, building your own monitoring and migrating domains by hand when a node is banned. A managed platform does all of that from one dashboard: auto-SSL, instant config propagation across every node, monitoring and fast migration — saving time and cutting mistakes.

How many domains and nodes can I connect?

The number of domains is unlimited, and nodes are added as you grow. Domains can be created manually or in bulk via the API and spread across different nodes and IPs — handy when you run hundreds of landers and campaigns.

The same setup, without the manual toil

Proxy nodes in front of your backend, auto-SSL, instant configs and monitoring — from one dashboard. Free 2-week trial, no card required.

Start free