Reverse proxy to serwer pośredniczący między użytkownikami a twoim backendem. Przyjmuje żądania z internetu i przekazuje je do właściwej aplikacji. Load balancer to ten sam pomysł, tylko rozdziela ruch między wiele serwerów, żeby żaden nie był przeciążony. Masz stronę na Nginxie, a backend na PHP-FPM, Node.js albo Pythonie/Gunicornie? Nginx pełni wtedy rolę reverse proxy. Cloudflare to globalny reverse proxy plus CDN.
Spis treści
ToggleJak działa reverse proxy
Bez reverse proxy: użytkownik łączy się prosto z aplikacją (np. Node.js na porcie 3000). Aplikacja musi obsłużyć SSL, kompresję, statyczne pliki, rate limiting, plus własną logikę. Za dużo zadań na raz.
Z reverse proxy: użytkownik łączy się z proxy (np. Nginx na porcie 443). Nginx obsługuje SSL/TLS termination, kompresję Gzip/Brotli, statyczne pliki (CSS, JS, obrazy), cache, rate limiting i HTTP/2. Dynamiczne żądania przekazuje do backendu. Backend dostaje już tylko czyste żądanie do przetworzenia, oddaje odpowiedź, Nginx odsyła ją użytkownikowi.
Backend nie widzi użytkownika, widzi tylko żądania od Nginxa (z localhosta). Nie jest też bezpośrednio dostępny z internetu, więc ataki trafiają najpierw na proxy, nie na aplikację.
Co konkretnie zyskujesz
SSL termination. Reverse proxy obsługuje szyfrowanie TLS, backend gada z proxy po HTTP w obrębie localhosta. Jeden certyfikat Let’s Encrypt na proxy, zamiast osobnego SSL na każdym backendzie.
Statyczne pliki. Nginx serwuje CSS, JS i obrazy 10-100 razy szybciej niż PHP-FPM albo Node.js. To proste operacje I/O, w których Nginx jest mistrzem. Backend zajmuje się tylko dynamiką.
Cache. Reverse proxy cache’uje odpowiedzi backendu. Sto osób prosi o tę samą stronę? Backend generuje ją raz, proxy oddaje 99 razy z cache. Redis plus FastCGI cache w Nginxie i WordPress obsługuje tysiące żądań na sekundę.
Bezpieczeństwo. Backend ukryty za proxy nie istnieje z perspektywy internetu. Proxy robi rate limiting (ochrona przed DDoS), WAF, IP whitelisting, blokowanie botów.
Wiele aplikacji na jednym serwerze. Nginx jako reverse proxy: twojadomena.pl idzie do PHP-FPM (WordPress), app.twojadomena.pl do Node.js na porcie 3000, api.twojadomena.pl do Pythona/Gunicorna na 8000. Jeden serwer, jeden IP, jeden port 443. Nginx routuje po domenie i ścieżce.
Load balancer: rozkładanie ruchu
Load balancer to reverse proxy, który rozdziela żądania między wiele serwerów backendowych (upstream). Jeden serwer nie wyrabia? Dodajesz drugi, trzeci, load balancer rozkłada na nie ruch.
| Algorytm | Opis | Kiedy używać |
|---|---|---|
| Round Robin | Każde żądanie do kolejnego serwera (1→2→3→1→…) | Domyślny, serwery o równej wydajności |
| Least Connections | Żądanie idzie do serwera z najmniejszą liczbą aktywnych połączeń | Żądania mają różny czas przetwarzania |
| IP Hash | Ten sam użytkownik (IP) zawsze trafia do tego samego serwera | Aplikacje z sesjami po stronie serwera |
| Weighted | Serwery z wagami (mocniejszy serwer dostaje więcej ruchu) | Serwery o różnej wydajności |
Konfiguracja Nginx jako load balancer:
upstream backend {
server 10.0.0.1:8080 weight=3;
server 10.0.0.2:8080 weight=2;
server 10.0.0.3:8080 weight=1;
}
server {
listen 443 ssl http2;
server_name twojadomena.pl;
location / {
proxy_pass http://backend;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Popularne reverse proxy i load balancery
| Narzędzie | Typ | Najlepsze do |
|---|---|---|
| Nginx | Web server + reverse proxy | Większość zastosowań, WordPress, statyczne pliki |
| HAProxy | Dedykowany load balancer | High-traffic, TCP/HTTP load balancing |
| Traefik | Cloud-native reverse proxy | Docker, Kubernetes, auto-discovery |
| Caddy | Web server + reverse proxy | Auto-SSL (Let’s Encrypt), prosta konfiguracja |
| Cloudflare | Globalny reverse proxy + CDN | DDoS protection, cache, SSL, WAF |
Kiedy potrzebujesz load balancera
Jeden serwer nie wyrabia. CPU bije w sufit, response time leci w górę, użytkownicy łapią błąd 503. Vertical scaling (kupno mocniejszego serwera) ma swoje limity. Horizontal scaling (drugi, trzeci serwer plus load balancer) skaluje się praktycznie bez ograniczeń.
Wymagana wysoka dostępność. Jeden serwer to single point of failure. Dwa albo więcej serwerów za load balancerem: jeden padnie, ruch przejmuje drugi. Uptime na poziomie 99,99%+.
Zero-downtime deploys. Wdrożenie nowej wersji bez przerwy: wyciągasz serwer A z puli, deployujesz na A, wracasz A do puli, wyciągasz B, deployujesz, wracasz. Użytkownicy nawet nie zauważą.
Najczęściej zadawane pytania
Czy potrzebuję reverse proxy dla małej strony
Jeśli masz VPS z WordPressem, to Nginx jako reverse proxy plus PHP-FPM jest standardem. Nawet dla małej strony: Nginx obsługuje SSL, statyczne pliki i cache, a PHP-FPM zajmuje się tylko dynamiką. Na shared hostingu nie myślisz o tym, hosting robi to za ciebie (Apache albo LiteSpeed plus PHP). Load balancera nie potrzebujesz, dopóki jeden serwer daje radę.
Reverse proxy vs VPN
Reverse proxy chroni serwer, stoi przed serwerem i pośredniczy w żądaniach od użytkowników. VPN chroni użytkownika, szyfruje ruch między twoim komputerem a serwerem VPN i ukrywa twój IP. Forward proxy (jak VPN albo Squid) stoi przed klientem. Reverse proxy stoi przed serwerem. Zupełnie inne kierunki.
Czy Cloudflare to reverse proxy
Tak. Cloudflare to globalny reverse proxy plus CDN. Po aktywacji żądania użytkowników trafiają najpierw na serwery Cloudflare. Cloudflare cache’uje, kompresuje, broni przed DDoS, obsługuje SSL i WAF, dopiero potem rzuca żądanie na twój serwer (origin). Twój serwer nie widzi użytkowników, widzi tylko adresy IP Cloudflare.






