Odwrotne proxy (reverse proxy)
Odwrotne proxy to serwer przed stroną, który przyjmuje żądania gości i przekazuje je do serwerów strony.
Zaktualizowano · Redakcja Prokso
Zwykły serwer proxy działa po stronie użytkownika i ukrywa jego adres przed stroną. Odwrotny stoi po stronie strony i ukrywa przed gośćmi jej serwery.
Przez odwrotne proxy strony rozkładają obciążenie, buforują podstrony, szyfrują połączenia i filtrują podejrzane żądania. Tak działają CDN i usługi ochrony stron.
Gdy żądanie przez proxy zatrzymuje strona ochrony, często właśnie odwrotne proxy strony uznało, że żądanie trzeba sprawdzić. Przykłady takich odpowiedzi znajdziesz na stronie błąd 1020.
Kupowanie odwrotnego proxy do pracy z cudzymi stronami nie jest potrzebne: to narzędzie właściciela strony.
Jak konfiguruje się odwrotne proxy
Typowy przykład to nginx przed aplikacją. Blok location / { proxy_pass http://127.0.0.1:8000; } przekazuje wszystkie żądania do aplikacji na porcie 8000, a odwiedzający widzą tylko nginx. Aplikacja nie widzi adresów odwiedzających bezpośrednio: dla niej każde żądanie przychodzi od nginx.
Aby przekazać prawdziwy adres dalej, nginx dodaje nagłówki, na przykład proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;. Aplikacja powinna ufać nagłówkowi X-Forwarded-For tylko od własnego proxy, bo każdy klient może wpisać do niego cokolwiek. W podobny sposób konfiguruje się buforowanie: nginx może zapisywać odpowiedzi aplikacji i serwować je bez odwoływania się do niej.
Oznaki, że odpowiedź przyszła od odwrotnego proxy
Często widać to w nagłówkach odpowiedzi: Server z nazwą CDN, Via, Age z wiekiem zapisanej kopii lub X-Cache: HIT. HIT oznacza, że strona przyszła z pamięci podręcznej, a serwer strony nawet nie otrzymał żądania.
Błędy też się różnią, a kody odpowiedzi podpowiadają, gdzie szukać przyczyny. 502 i 504 oznaczają, że odwrotne proxy nie doczekało się odpowiedzi od serwera strony, czyli problem leży po stronie strony, a nie w Twoim proxy. 403 lub 429 z własną stroną CDN oznacza, że warstwa brzegowa strony postanowiła ograniczyć żądania.
Co zrobić, gdy strona Cię ogranicza
Traktuj to jako sygnał od właściciela strony. Zmniejsz tempo i liczbę wątków, stosuj się do nagłówka Retry-After, jeśli jest, i sprawdź, czy strona nie oferuje oficjalnego API lub eksportu danych. Jeśli dane są Ci potrzebne regularnie, napisz do właściciela strony: uzgodniony sposób jest stabilniejszy niż jakiekolwiek ustawienie po Twojej stronie.
Pytania i odpowiedzi (FAQ)
Po co stronom odwrotne proxy?
Żeby rozkładać obciążenie między serwery, buforować podstrony i odsiewać podejrzane żądania. Przechodzą przez nie wszyscy goście strony.
Czym odwrotne proxy różni się od zwykłego?
Zwykłe działa po stronie użytkownika i ukrywa jego adres, odwrotne – po stronie strony i ukrywa serwery.
Rezydencjalne $1.59, mobilne $2.50, serwerowe $0.65 za 1 GB
Rejestracja w minutę, dostęp od razu po płatności.