Odwrócony proxy, serwer odwrotny proxy, odwrócony proxy (reverse proxy) - to kompleks programów komputerowych, który służy do kontroli i dystrybucji ruchu przychodzącego między serwerami zasobów internetowych.
Kiedy dziesiątki milionów ludzi z całego świata odwiedzają YouTube, to właśnie blok podsystemów decyduje, z którego konkretnego serwera pobrać film i przesłać go użytkownikowi. Podstawą tego bloku jest odwrócony proxy.
Według nieoficjalnych danych YouTube ma ponad 2,5 miliona serwerów w ponad 30 centrach danych na różnych kontynentach. Aby usługa działała szybko i niezawodnie, ważne jest równomierne rozprowadzanie przychodzących żądań i przesyłanych strumieni.
W momencie pisania artykułu najbardziej znane odwrotne proxy to:
Niektóre z tych programów początkowo zostały stworzone do innych zadań i celów, dlatego ich funkcjonalność jest znacznie szersza niż tylko odwrotne proxy. W szczególności mogą pełnić funkcje serwera WWW, serwera poczty, prostego proxy i innych.
Jeśli zasób internetowy jest umieszczony na kilku serwerach, odwrotne proxy równomiernie rozdziela przychodzące żądania między nimi.
Jeśli którykolwiek serwer tymczasowo ulegnie awarii, odwrotny proxy "zauważa" to i przestaje przekierowywać żądania do niego. Po przywróceniu działania serwera, żądania zaczynają automatycznie trafiać do niego.
Dzięki odwrotnemu proxy istnieje możliwość umieszczenia kilku serwerów, a nawet klastrów pod jednym adresem URL.
Odwrotne proxy może kompresować informacje dla użytkownika już po stronie zasobu internetowego.
Ta technika znacznie przyspiesza wysyłanie danych. Użytkownik otrzymuje informacje w skompresowanej formie. Przeglądarka "rozpakowuje" je za pomocą procesora urządzenia użytkownika, a nie pobiera wszystko przez Internet.
Przyspieszenie działania stron internetowych za pomocą odwrotnego proxy odbywa się poprzez buforowanie (zapamiętywanie) statycznej i dynamicznej zawartości dostarczanej przez stronę.
Na przykład, jeśli odwrotne proxy serwisu wideo "zauważy", że określony film cieszy się zwiększoną popularnością (wiele żądań o jego oglądanie), może on go zbuforować i przy kolejnych odwołaniach nie szukać odpowiedniego serwera, tylko od razu dostarczać informacje, a nawet w skompresowanej formie.
W większości współczesnych stron internetowych strona jest budowana dynamicznie. Innymi słowy, użytkownik pobiera informacje z bazy danych strony, a sama strona jest montowana przez przeglądarkę już na urządzeniu użytkownika.
Jeśli połączenie z użytkownikiem jest wolne, serwer zajmuje więcej czasu na dostarczenie danych, niż mógłby. Dlatego można skonfigurować serwer w taki sposób, że zacznie on całkowicie przekazywać dane do odwrotnego proxy, a proxy będzie "karmić" wolnego klienta "łyżeczką", co pozwoli szybko zwolnić serwer do wykonywania innych zadań.
Ochrona przed atakami DDoS w większości przypadków polega na skonfigurowaniu odwrotnego proxy do przepuszczania / blokowania ruchu przychodzącego.
Blokowanie odbywa się na podstawie reguł, które pozwalają systemowi odróżnić zwykłych użytkowników od hakerów. Jedną z takich reguł jest "Limit żądań".
Jeśli zasób internetowy nie obsługuje pracy z zaszyfrowanymi informacjami, tj. nie może przyjmować i przekazywać ruchu HTTPS, to poprzez instalację i konfigurację odwrotnego proxy można rozwiązać ten problem.
Ten rodzaj testowania jest stosowany do sprawdzania hipotez dotyczących zachowania użytkowników podczas pracy z usługami o podobnym charakterze, ale wykonanymi w różny sposób. Na przykład dwoma stronami docelowymi wykonanymi w różnym stylu.
Przy odpowiednich ustawieniach odwrotny proxy może ukryć informacje o serwerach znajdujących się za nim. Jest to dodatkowa warstwa ochrony usługi internetowej - zewnętrzne systemy nie będą w stanie określić adresów IP i lokalizacji serwerów.
Odwrócony serwer proxy to oprogramowanie, a nie sprzęt. Jest to oprogramowanie zainstalowane po stronie zasobu internetowego i służy do filtrowania ruchu wejściowego poprzez przekierowywanie go na serwery, równoważenia obciążenia, przyspieszania pracy oraz ochrony zasobu przed atakami zewnętrznymi.