← Back to blog

Przewodnik po rozszerzeniu mod_proxy: Używanie Apache jako odwrotnego proxy

Category
Przewodnik po rozszerzeniu mod_proxy: Używanie Apache jako odwrotnego proxy

Wprowadzenie

Rozszerzenia firm trzecich są niezwykle pomocnymi dodatkami. Sprawiają one, że konfiguracja i praca z serwerem, takim jak Apache HTTP, staje się znacznie prostsza i łatwiejsza. W razie potrzeby możesz nawet użyć niektórych z tych modułów w Apache do uruchomienia odwrotnego serwera proxy. Możesz usunąć jedną warstwę z konfiguracji serwera lub użyć modułu do przekierowywania połączeń.

W tym poradniku omówimy serwer Apache oraz różne moduły powiązane z tą platformą serwerową, takie jak mod_proxy. Zobaczymy również, jak można go użyć jako odwrotnego serwera proxy do przekierowywania połączeń do serwerów aplikacji backendowych.

Co to jest Apache?

Apache jest serwerem HTTP bardzo powszechnie używanym do celów związanych z siecią Web. Można go jednak używać z wielu różnych powodów i na wielu platformach. Możesz zainstalować serwer WWW Apache na Ubuntu, postępując zgodnie z naszym samouczkiem krok po kroku. Ponadto zapoznaj się z tym samouczkiem, aby dowiedzieć się, jak zabezpieczyć serwer Apache za pomocą Let’s Encrypt. Możesz również sprawdzić, jak skonfigurować wirtualne hosty Apache na Ubuntu 20.04.

Możesz dalej badać funkcje i wdrożenie Apache za pomocą zewnętrznych modułów. Są to moduły firm trzecich, których można używać do wykonywania różnych zadań związanych z połączeniami i konfiguracją. Na przykład możesz użyć modułu mod_rewrite do przepisywania adresów URL na podstawie reguł. Innym z tych modułów jest mod_proxy. Ten ostatni moduł jest w dużej mierze niewykorzystywany w społeczności. Głównie dlatego, że wiele osób nie zdaje sobie sprawy z zakresu jego funkcjonalności i zastosowań. Mod_proxy, jak sugeruje nazwa, może pomóc w skonfigurowaniu bramy lub serwera proxy dla serwerów backendowych.

Poznajmy mod_proxy szczegółowo oraz to, jak można go użyć jako odwrotnego serwera proxy.

Mod_proxy: Używanie Apache jako odwrotnego serwera proxy

Jak zapewne się domyślasz, mod_proxy to moduł. Jest to moduł w Apache, którego można używać do tworzenia i przekierowywania różnych połączeń. Możesz go również aktywować i konfigurować jak każdy inny moduł w systemie. Wyjątkowość mod_proxy polega na tym, że nie jest to tylko jeden moduł. W rzeczywistości składa się on z zestawu różnych modułów, które znajdziesz poniżej. Każdy z nich ma do spełnienia własną funkcję. W ten sposób mod_proxy zapewnia dużą różnorodność funkcjonalną.

Przyjrzyj się następującym modułom mod_proxy:

mod_proxy

To jest główny moduł proxy. W Apache możesz użyć tego modułu do konfiguracji i zarządzania różnymi połączeniami. Może on również pomóc w przekierowywaniu połączeń.

mod_proxy_http

Jak sugeruje nazwa, moduł ten obsługuje protokoły HTTP i HTTPS. Możesz użyć tego modułu do wdrożenia funkcji proxy dla tych protokołów.

mod_proxy_ftp

Mod_proxy_ftp działa w przypadku korzystania z protokołu FTP.

mod_proxy_connect

Ten moduł jest pomocny podczas wykonywania tunelowania SSL.

mod_proxy_ajp

Możesz użyć mod_proxy_ajp podczas pracy z protokołem AJP.

mod_proxy_wstunnel

Jest to przydatne podczas pracy z gniazdami sieciowymi, takimi jak WS i WSS.

mod_proxy_balancer

Jeśli chcesz uzyskać dostęp do funkcji równoważenia obciążenia i klastrowania, możesz użyć tego modułu.

mod_cache

Moduł mod_cache jest pomocny, zgodnie z oczekiwaniami, do celów buforowania.

mod_headers

Możesz użyć tego modułu do zarządzania nagłówkami tworzonymi przy użyciu protokołu HTTP.

mod_deflate

Ten moduł jest używany do celów kompresji.

Jeśli chcesz dowiedzieć się jeszcze więcej szczegółów na temat tych modułów, możesz odwiedzić oficjalną stronę internetową Apache. Oficjalna dokumentacja zawiera również więcej informacji na temat mod_proxy oraz samego Apache.

Jak zainstalować Apache i mod_proxy?

Oto kilka prostych kroków, aby zainstalować Apache i mod_proxy w swoim systemie:

  1. Przygotowanie serwera

Przede wszystkim musisz upewnić się, że Twój serwer chmurowy jest przygotowany. Aby to zrobić, musisz zaktualizować system operacyjny i powiązane oprogramowanie do najnowszych wersji.

Użyj następujących poleceń, aby zaktualizować swoje aplikacje:

  1. Instalacja pakietu podstawowego

Gdy przygotujesz już swój serwer, musisz wyposażyć go w niezbędne narzędzia. W tym celu należy zainstalować pakiet build-essential. Pakiet ten składa się ze wszystkich podstawowych narzędzi potrzebnych do instalacji oprogramowania ze źródeł. Możesz go zainstalować za pomocą tego polecenia:

  1. Pobierz moduły i zależności

Na koniec musisz zainstalować moduły i zależności. Możesz to zrobić, uruchamiając następujące polecenie:

Aktywacja modułów: Jak skonfigurować Apache z połączeniami proxy?

Zanim w ogóle przejdziesz do konfiguracji Apache, musisz aktywować moduły. Moduły te pomogą Ci dokonać niezbędnych konfiguracji i wykonywać różne zadania.

Na początek musisz sprawdzić, które moduły już działają w Twoim systemie. Co więcej, musisz również upewnić się, że wszystkie moduły są poprawnie zainstalowane i mogą być włączone. Uruchomienie tego polecenia pokaże wszystkie dostępne moduły na Twoim serwerze Apache:

a2enmod output

Jak widać, odpowiedź pokazuje wszystkie dostępne moduły w postaci szczegółowej listy. Przejrzyj tę listę i określ, które moduły chcesz aktywować. Aby poinformować o tym Apache, możesz użyć następującego polecenia i wpisać żądane moduły w miejsce przykładów:

Z drugiej strony, możesz również aktywować każdy moduł osobno. Aby to zrobić, użyj następujących poleceń:

Niektóre moduły będą prawdopodobnie domyślnie aktywowane na Twoim serwerze. Możesz się zastanawiać, jak potwierdzić, że są włączone. Aby upewnić się, że żądany moduł jest aktywny, możesz spróbować aktywować go dwukrotnie. Zagwarantuje to, że moduł jest włączony.

  1. Zmień domyślne ustawienia konfiguracji

Najpierw musisz zmienić domyślne ustawienia konfiguracji. Aby to zrobić, musisz uzyskać dostęp do domyślnego pliku konfiguracyjnego, którym jest 000-default.conf. Plik ten znajduje się w katalogu /etc/apache2/sites-enabled. Musimy go zmodyfikować w taki sposób, aby uzyskał funkcję proxy.

Zaczniesz od otwarcia edytora tekstu nano w celu edycji domyślnego wirtualnego hosta. Możesz to zrobić, uruchamiając to polecenie:

Będziemy wspólnie odnosić się do mod_virtual host i mod_proxy jako wirtualnego hosta proxy. Teraz możesz wdrożyć następujące ustawienia konfiguracyjne. Możesz wprowadzić niezbędne zmiany, jakie uznasz za stosowne dla swojego systemu i wymagań:

Możesz zapisać i wyjść po naciśnięciu Ctrl + X i potwierdzeniu klawiszem Y.

  1. Aktywuj funkcję równoważenia obciążenia

Równoważenie obciążenia pomaga skutecznie dystrybuować połączenia na serwerze proxy. Jest to bardzo przydatne rozwiązanie, gdy używasz wielu serwerów aplikacji backendowych zamiast jednego. Funkcja równoważenia obciążenia rozdzieli połączenia, czyli „obciążenie”.

Aby włączyć tę funkcję, musisz powtórzyć kroki wspomniane wcześniej w tym przewodniku. Jednak podczas konfiguracji wirtualnego hosta należy użyć następujących ustawień konfiguracyjnych:

  1. Aktywuj obsługę odwrotnego proxy

Musisz zapewnić obsługę odwrotnego proxy przez wirtualny host, jeśli pracujesz z połączeniami SSL i certyfikatami. Ten pomocniczy wirtualny host musi mieć następujące ustawienia. Musisz wykonać instrukcje z poprzednich kroków. Wszystko, co musisz zrobić, to zastąpić opcje konfiguracji tymi wymienionymi poniżej:

Aby powyższa konfiguracja działała, należy również włączyć moduł SSL:

  1. Zrestartuj Apache

Wszystkie konfiguracje zostały zakończone. Na koniec możesz zrestartować serwer Apache, aby zastosować zmiany. Możesz zrestartować Apache, uruchamiając następujące polecenie:

Podsumowanie

Voila! Właśnie pomyślnie skonfigurowałeś bramę odwrotnego proxy (reverse proxy) na swoim serwerze Apache. Teraz Apache będzie przekierowywać przychodzące połączenia do Twoich serwerów aplikacji na zapleczu.

Świetną rzeczą jest to, że proces konfiguracji wymaga niewiele wysiłku i jest dość prosty. Teraz, gdy znasz już dokładne kroki, jak to osiągnąć, nie powinieneś mieć żadnych problemów ze skonfigurowaniem odwrotnego proxy w Apache.

Miłej pracy!

Akshay Nagpal

Autor · CloudSigma

Komentarze

Brak komentarzy. Bądź pierwszy.