Odwrotne proxy to serwer lub aplikacja, która znajduje się pomiędzy klientami a serwerami zaplecza, przechwytując żądania klientów i przekazując je do odpowiednich serwerów zaplecza. W odróżnieniu od tradycyjnego przekazującego proxy, które obsługuje wychodzące żądania klientów, odwrotne proxy zarządza przychodzącymi żądaniami klientów w imieniu serwerów zaplecza. Działa jako pośrednik, który zwiększa bezpieczeństwo, poprawia wydajność i zapewnia dodatkowe funkcje, takie jak równoważenie obciążenia, kończenie protokołu SSL, buforowanie i zabezpieczenia zapory aplikacji internetowych (WAF).
Odwrotne proxy są szeroko stosowane w hostingu stron internetowych, dostarczaniu aplikacji i architekturach bezpieczeństwa. Służą one kilku kluczowym celom, w tym:
- Równoważenie obciążenia: Dystrybucja przychodzących żądań klientów na wiele serwerów zaplecza w celu optymalizacji wykorzystania zasobów i poprawy wydajności aplikacji.
- Zakończenie protokołu SSL: Odszyfrowanie zaszyfrowanego ruchu SSL/TLS na odwrotnym serwerze proxy przed przesłaniem go do serwerów zaplecza, zmniejszając obciążenie obliczeniowe zasobów zaplecza.
- Buforowanie: przechowywanie często używanych treści na brzegu sieci w celu skrócenia czasu odpowiedzi i zmniejszenia obciążenia serwera.
- Bezpieczeństwo: Działa jako tarcza między klientami a serwerami zaplecza, chroniąc przed atakami takimi jak DDoS (Distributed Denial of Service) i zapewniając scentralizowany punkt do wdrażania polityk bezpieczeństwa, takich jak kontrola dostępu i reguły WAF.
Odwrotne proxy to nie to samo, co wirtualna sieć prywatna (VPN). Chociaż obie technologie obejmują serwery pośredniczące, służą różnym celom. Odwrotne proxy zarządza i optymalizuje ruch między klientami a serwerami zaplecza, koncentrując się na poprawie wydajności i bezpieczeństwie aplikacji po stronie serwera. Natomiast VPN ustanawia bezpieczny, szyfrowany tunel pomiędzy urządzeniem klienckim a zdalnym serwerem, szyfrując cały ruch przechodzący przez niego, aby chronić prywatność i zapewnić integralność danych.
NGINX jest często określany mianem odwrotnego proxy, ponieważ doskonale radzi sobie z obsługą przychodzących żądań klientów i wydajnym przesyłaniem ich do serwerów zaplecza. Pierwotnie zaprojektowany jako wysokowydajny serwer WWW, NGINX ewoluował, aby zapewnić niezawodne możliwości odwrotnego proxy. Jest znany ze swojej zdolności do obsługi dużej liczby jednoczesnych połączeń, równoważenia obciążenia na serwerach zaplecza i skutecznego zarządzania zakończeniem SSL/TLS. Architektura i funkcje NGINX sprawiają, że jest to popularny wybór w zakresie zwiększania wydajności, skalowalności i bezpieczeństwa aplikacji i usług internetowych wdrażanych w różnorodnych środowiskach.