Wyszukiwanie w witrynie

10 najlepszych serwerów typu Reverse Proxy typu open source dla systemu Linux


Odwrotny serwer proxy to typ serwera proxy wdrażany między klientami a serwerami zaplecza/źródła, na przykład serwer HTTP, taki jak NGINX, Apache itp. lub serwery aplikacji napisane w Nodejs, Python, Java, Ruby, PHP i wiele innych języków programowania.

Jest to brama lub serwer pośredniczący, który przyjmuje żądanie klienta, przekazuje je do jednego lub większej liczby serwerów zaplecza, a następnie pobiera odpowiedź z serwera i dostarcza ją z powrotem do klienta, sprawiając wrażenie, jakby treść pochodzi z samego serwera zwrotnego proxy.

Ogólnie rzecz biorąc, odwrotny serwer proxy to wewnętrzny serwer proxy używany jako „frontend” do kontrolowania i ochrony dostępu do serwerów zaplecza w sieci prywatnej: zwykle jest wdrażany za zaporą sieciową .

Pomaga serwerom zaplecza osiągnąć anonimowość w celu zwiększenia ich bezpieczeństwa. W infrastrukturze IT odwrotne proxy może również działać jako zapora sieciowa aplikacji, moduł równoważenia obciążenia, terminator TLS, akcelerator sieciowy (poprzez buforowanie treści statycznych i dynamicznych) i wiele więcej.

W tym artykule dokonamy przeglądu 10 najlepszych serwerów odwrotnego proxy typu open source, których można używać w systemie Linux.

1. HAProxy – (równoważenie obciążenia TCP/HTTP)

HAProxy (HAProxy, co oznacza High Availability Proxy) to bezpłatne, otwarte, bardzo szybkie, niezawodne i najwyższej klasy oprogramowanie do równoważenia obciążenia i proxy dla protokołu TCP i aplikacje oparte na protokole HTTP, stworzone z myślą o wysokiej dostępności.

HAProxy to zwrotny serwer proxy HTTP, serwer proxy i normalizator protokołu TCP, terminator/inicjator/odładowacz SSL/TLS, serwer proxy buforujący, moduł odciążający kompresję HTTP, regulator ruchu, przełącznik oparty na treści, Brama FastCGI i nie tylko. Stanowi także ochronę przed atakami DDoS i nadużyciami w zakresie usług.

Jest zasilany przez sterowany zdarzeniami, nieblokujący silnik, który łączy bardzo szybką warstwę we/wy z wielowątkowym harmonogramem opartym na priorytetach, który umożliwia łatwą obsługę dziesiątek tysięcy jednoczesnych połączeń.

Warto zauważyć, że HAProxy wykorzystuje protokół PROXY do przekazywania informacji o połączeniu klienta do serwerów zaplecza lub pochodzenia, dzięki czemu aplikacja otrzymuje wszystkie istotne informacje.

Niektóre z podstawowych funkcji HAProxy obejmują proxy, obsługę SSL, monitorowanie zarówno stanów serwerów, jak i ich stanu, wysoką dostępność, równoważenie obciążenia, lepkość (utrzymywanie gościa na tym samym serwerze nawet w przypadku różnych zdarzeń), przełączanie treści, przepisywanie i przekierowywanie HTTP, serwer ochrona, rejestrowanie, statystyki i wiele więcej.

2. NGINX – (serwer WWW HTTP i Reverse Proxy)

NGINX to bezpłatny, wysokowydajny i bardzo popularny serwer HTTP i zwrotny serwer proxy o otwartym kodzie źródłowym. Działa również jako serwer proxy IMAP/POP3. NGINX jest dobrze znany ze swojej wysokiej wydajności, stabilności, bogatego zestawu funkcji, prostej i elastycznej konfiguracji oraz niskiego zużycia zasobów (szczególnie małego zużycia pamięci).

Podobnie jak HAProxy, NGINX ma architekturę sterowaną zdarzeniami, więc nie ma problemu z obsługą dziesiątek tysięcy jednoczesnych połączeń, ponieważ wykorzystuje HAProxy PROXY protokół.

NGINX obsługuje przyspieszone odwrotne proxy z buforowaniem za pomocą modułu ngx_http_proxy_module, który umożliwia przekazywanie żądań do innego serwera za pośrednictwem protokołów innych niż HTTP, takich jak FastCGI, uwsgi, SCGI i Memcached.

Co ważne, obsługuje równoważenie obciążenia i odporność na awarie, które są istotnymi aspektami rozproszonych systemów obliczeniowych na dużą skalę. Moduł ngx_http_upstream_module pozwala na zdefiniowanie grup serwerów backendowych w celu dystrybucji żądań przychodzących od klientów.

Dzięki temu Twoje aplikacje będą bardziej niezawodne, dostępne i niezawodne, wysoce skalowalne, z czasem reakcji i przepustowością. Dodatkowo, jeśli chodzi o bezpieczeństwo, obsługuje terminację SSL/TLS i wiele innych funkcji bezpieczeństwa.

Przydatne artykuły na temat serwera WWW Nginx, które możesz chcieć przeczytać:

3. Lakier – (odwrotny serwer proxy buforowania)

Varnish HTTP Cache (lub Varnish Cache lub po prostu Varnish) to bezpłatne, wysokowydajne i bardzo popularne oprogramowanie typu open source do odwrotnego proxy, lepiej znane jako sieć akcelerator aplikacji, zaprojektowany w celu poprawy wydajności HTTP przy użyciu buforowania po stronie serwera.

Jest wdrażany pomiędzy klientem a serwerem WWW lub serwerem aplikacji HTTP; za każdym razem, gdy klient żąda informacji lub zasobu z serwera WWW, Varnish przechowuje kopię informacji, więc następnym razem, gdy klient zażąda tych samych informacji, Varnish obsłuży je bez wysyłania żądania do serwera WWW, zmniejszając w ten sposób obciążenie serwera serwer, co z kolei przyspiesza dostarczanie treści internetowych.

Varnish korzysta z elastycznego języka konfiguracji znanego jako Varnish Configuration Language (VLC), który między innymi umożliwia administratorom systemu konfigurowanie sposobu, w jaki powinny być odbierane żądania przetwarzane, jakie treści powinny być dostarczane, skąd i w jaki sposób należy zmienić żądanie lub odpowiedź i wiele więcej.

Lakier jest również rozszerzalny – można go rozszerzyć za pomocą Modułów lakieru (VMOD), a użytkownicy mogą pisać własne moduły lub korzystać z modułów dostarczonych przez społeczność.

Głównym ograniczeniem Varnish jest brak obsługi SSL/TLS. Jedynym sposobem na włączenie protokołu HTTPS jest wdrożenie terminatora lub modułu odciążającego SSL/TLS, takiego jak HAProxy lub NGINX w przed nim.

4. Træfɪk – (natywny serwer proxy aplikacji w chmurze)

Træfɪk (wymawiane Traffic) to bezpłatny, nowoczesny i szybki odwrotny serwer proxy HTTP i moduł równoważenia obciążenia o otwartym kodzie źródłowym do wdrażania mikrousług obsługujących wiele algorytmów równoważenia obciążenia.

Może współpracować z różnymi dostawcami (lub mechanizmami wykrywania usług lub narzędziami do orkiestracji), takimi jak Kubernetes, Docker, Etcd, Rest API, Mesos/Marathon, Swarm i Zookeper.

Jego uroczą funkcją jest możliwość automatycznego i dynamicznego zarządzania konfiguracją, odkrywając w ten sposób odpowiednią konfigurację dla swoich usług. Robi to poprzez skanowanie infrastruktury w celu znalezienia odpowiednich informacji i odkrycia, która usługa obsługuje dane żądanie ze świata zewnętrznego. Dostawcy informują Træfɪk, gdzie znajdują się Twoje aplikacje lub mikrousługi.

Inne funkcje Træfɪk są obsługiwane dla WebSockets, HTTP/2 i GRPC, gorącego ponownego ładowania (ciągle aktualizuje konfigurację bez ponownego uruchamiania), HTTPS przy użyciu Let's Encrypt certyfikatów (obsługa certyfikatów z symbolami wieloznacznymi) i udostępnia interfejs API REST. Prowadzi także logi dostępu i udostępnia metryki (Rest, Prometheus, Datadog, Statsd, InfluxDB).

Ponadto Træfɪk jest dostarczany z prostym internetowym interfejsem użytkownika opartym na HTML, służącym do śledzenia wydarzeń. Obsługuje także wyłączniki automatyczne, żądania ponownych prób, ograniczanie szybkości i podstawowe uwierzytelnianie.

5. Apache Traffic Server – (serwer proxy zwrotnego i przekazywania)

Apache Traffic Server, dawniej produkt komercyjny należący do Yahoo, który później został przekazany Apache Foundation, jest bezpłatnym, otwartym serwerem proxy z szybkim buforowaniem do przodu i do tyłu serwer.

Serwer ruchu działa również jako moduł równoważenia obciążenia i może uczestniczyć w elastycznych hierarchiach pamięci podręcznej. Wiadomo, że obsługuje ponad 400 TB ruchu dziennie w Yahoo.

Zawiera zestaw funkcji utrzymywania aktywności, filtrowania lub anonimizacji żądań treści i jest rozszerzalny za pomocą interfejsu API, który umożliwia użytkownikom tworzenie niestandardowych wtyczek do modyfikowania nagłówków HTTP, obsługi żądań ESI lub projektowania nowych algorytmów pamięci podręcznej.

6. Squid – (buforowanie i przekazywanie proxy HTTP)

Squid to darmowy, open source i dobrze znany demon serwera proxy i pamięci podręcznej sieci Web, który obsługuje różne protokoły, takie jak HTTP, HTTPS, FTP i inne. Zawiera tryb odwrotnego proxy (akcelerator httpd), który buforuje przychodzące żądania dotyczące danych wychodzących.

Obsługuje bogate opcje optymalizacji ruchu, kontrolę dostępu, autoryzację, funkcje rejestrowania i wiele więcej.

7. Funt – (odwrotne proxy i moduł równoważenia obciążenia)

A Pound to kolejny darmowy, lekki odwrotny serwer proxy i moduł równoważenia obciążenia o otwartym kodzie źródłowym oraz interfejs dla serwerów internetowych. Jest to także terminator SSL (który odszyfrowuje żądania HTTPS od klientów i wysyła je jako zwykły HTTP do serwerów zaplecza).

Narzędzie do czyszczenia HTTP/HTTPS (weryfikuje żądania pod kątem poprawności i akceptuje tylko te dobrze sformułowane) oraz serwer awaryjny.

8. Apache – (serwer WWW HTTP)

Serwer Apache HTTP (znany również jako HTTPD), najpopularniejszy serwer WWW na świecie, można również wdrożyć i skonfigurować tak, aby działał jako odwrotne proxy.

Apache przoduje w kierowaniu żądań klientów do serwerów zaplecza, zwiększaniu bezpieczeństwa, równoważeniu obciążenia i optymalizacji wydajności aplikacji internetowych. Działając jako pośrednik, Apache może efektywnie dystrybuować ruch przychodzący do wielu instancji serwerów, zapewniając wysoką dostępność i bezproblemową obsługę użytkownika.

Solidne i konfigurowalne opcje konfiguracji sprawiają, że jest to najlepszy wybór dla organizacji poszukujących niezawodnego rozwiązania dla potrzeb odwrotnego proxy, zarówno w przypadku buforowania treści, jak i dostarczania aplikacji.

9. Skipper – (router HTTP i zwrotny serwer proxy)

Skipper to darmowy router HTTP typu open source i zwrotny serwer proxy do komponowania usług, w tym przypadków użycia takich jak Kubernetes Ingress.

Jest zbudowany tak, aby zarządzać znaczną liczbą dynamicznie konfigurowanych definicji tras HTTP, przekraczającą 800 000 tras, oferując skomplikowane warunki wyszukiwania i oferując elastyczność w ulepszaniu przepływu żądań za pomocą filtrów.

Można go łatwo wdrożyć w niezmienionej postaci lub można go rozszerzyć, włączając niestandardowe wyszukiwanie, logikę filtrów i źródła konfiguracji.

10 Caddy 2 – szybki serwer z automatycznym HTTPS

Caddy 2 to serwer WWW typu open source i odwrotny serwer proxy znany ze swojej prostoty i wszechstronności, który oferuje przyjazny dla użytkownika interfejs i domyślnie automatyczny protokół HTTPS, dzięki czemu jest dostępnym wyborem zarówno dla nowicjuszy, jak i doświadczonych użytkowników.

Caddy 2 został zaprojektowany tak, aby bez wysiłku obsługiwać hosting, HTTP/2, równoważenie obciążenia i proxy, zwiększając wydajność i bezpieczeństwo witryny. Jego charakter typu open source zachęca do udziału społeczności, a zyskał popularność dzięki łatwości obsługi i nowoczesnym funkcjom w świecie hostingu i zarządzania serwerami.

Wniosek

To wszystko, co przygotowaliśmy dla Ciebie w tym przewodniku. Więcej informacji na temat każdego narzędzia z tej listy można znaleźć na odpowiednich stronach internetowych. Nie zapomnij podzielić się z nami swoimi przemyśleniami za pomocą poniższego formularza opinii.