Jak skonfigurować proxy Nginx Reverse
- 3579
- 37
- Juliusz Sienkiewicz
W tym przewodniku dowiesz się, jak skonfigurować proxy Nginx Reverse z instrukcjami krok po kroku. Wyjaśnimy również, jak działa odwrotny serwer proxy i jakie są jego zalety. Ponadto przechodzimy również różne opcje konfiguracyjne, których administratorzy Linux zwykle zatrudniają na swoich serwerach odwrotnych.
W tym samouczku nauczysz się:
- Jak działa odwrotny proxy
- Jakie są zalety odwrotnego proxy
- Jak skonfigurować proxy Nginx Reverse
- Jak przekazać nagłówki
- Jak skonfigurować równoważenie obciążenia
- Jak przetestować konfigurację Nginx
Zastosowane wymagania i konwencje oprogramowania
Kategoria | Wymagania, konwencje lub wersja oprogramowania |
---|---|
System | Niezależny od rozkładu |
Oprogramowanie | Nginx |
Inny | Uprzywilejowany dostęp do systemu Linux jako root lub za pośrednictwem sudo Komenda. |
Konwencje | # - Wymaga, aby podane polecenia Linux są wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda$ - Wymaga, aby podane polecenia Linux zostały wykonane jako zwykły użytkownik niepewny |
Jak działa odwrotny proxy?
System, który znajduje się między klientem a serwerem WWW (lub serwerów), może być skonfigurowany jako odwrotny proxy. Usługa proxy działa jako frontend i działa poprzez obsługę wszystkich przychodzących żądań klientów i rozpowszechnianie ich do sieci Backend, bazy danych i/lub innych serwerów (.
Korzyści z odwrotnego proxy
Konfigurowanie proxy Nginx Reverse oznacza, że wszystkie żądania przychodzące są obsługiwane w jednym punkcie, co zapewnia kilka zalet:
- Równoważenie obciążenia - Odwrotna proxy rozpowszechnia przychodzące połączenia z serwerami backend, a nawet może to zrobić zgodnie z bieżącym obciążeniem, które jest pod każdym serwerem. Zapewnia to, że żaden z serwerów zaplecza nie zostanie przeciążony żądaniami. Zapobiega również przestojom, ponieważ odwrotny proxy może przekazać ruch, jeśli serwer zaplecza zdarzy się,.
- Centralne rejestrowanie - Zamiast mieć wiele serwerów generuje pliki dziennika, odwrotna proxy może rejestrować wszystkie istotne informacje w jednym miejscu. To sprawia, że zadanie administratora jest niezwykle łatwiejsze, ponieważ problemy można odizolować znacznie szybciej i nie ma potrzeby analizowania plików dziennika z wielu lokalizacji podczas rozwiązywania problemów z rozwiązywaniem problemów.
- Ulepszone bezpieczeństwo - Odwrotna proxy zaciemni informacje o serwerach zaplecza, a także będzie działać jako pierwsza linia obrony przed atakującymi atakami. Ponieważ odwrotny proxy filtruje ruch przed przekazaniem go do backend, tylko niewinny ruch jest przekazywany innym serwerom.
- Lepsza wydajność - Odwrotny serwer proxy może podejmować inteligentne decyzje dotyczące rozpowszechniania obciążenia na serwerach zaplecza, co powoduje szybsze czasy reakcji. Inne wspólne zadania serwerowe, takie jak buforowanie i kompresja, można również odnieść na odwrotny serwer proxy, uwalniając zasoby dla serwerów zaplecza.
Odwrotny serwer proxy nie jest koniecznym komponentem w każdym scenariuszu hostingu. Zalety odwrotnego proxy stają się najbardziej widoczne w warunkach wysokiego ruchu lub sytuacjach, w których wdrażane jest wiele serwerów zaplecza i wymagają pewnej formy równoważenia obciążenia.
Dlaczego Nginx?
Teraz, gdy przedstawiliśmy zalety odwrotnego proxy, możesz zastanawiać się, dlaczego powinieneś skonfigurować jeden z Nginx, w szczególności. Skalowalność Nginx i jego sprawdzona zdolność do obsługi wyjątkowo dużej ilości połączeń oznacza, że jest idealna do wdrażania jako odwrotny proxy i równoważenie obciążenia.
Powszechną aplikacją jest umieszczenie Nginx między klientami a serwerem WWW, w którym może działać jako punkt końcowy dla szyfrowania SSL i akceleratora sieci Web. Operacje, które zwykle zwiększałyby obciążenie na serwerze internetowym, takie jak szyfrowanie, kompresja i buforowanie, można wykonywać bardziej wydajnie za pośrednictwem proxy Nginx Reverse.
Jak skonfigurować Nginx Reverse Proxy Instrukcje krok po kroku
Ponieważ wyjaśniliśmy, jak działa odwrotna proxy i jakie są zalety korzystania z jednego, w tej sekcji przejdziemy przez kroki wymagane do skonfigurowania odwrotnego serwera proxy Nginx.
- Zainstaluj Nginxyou może zainstalować Nginx z menedżerem pakietów systemu. W dystrybucji Ubuntu i Debiana polecenie to:
$ sudo apt-get instaluj nginx
Na rozkładach centrów i czerwonego kapelusza:
# mniam instaluj nginx
- Wyłącz domyślny wirtualny host
# unlink/etc/nginx/Sites-obsługujący/domyślny
- Utwórz odwrotną konfigurację proxy Fiall ustawień dla odwrotnej proxy w wejściu do pliku konfiguracyjnego, a ten plik wymaga umieszczenia w katalogu dostępnym w witrynach. Zacznij od nawigacji do następującego katalogu:
# cd/etc/nginx/witryny-dostępny
Następnie użyj VI lub preferowanego edytora tekstu, aby utworzyć plik konfiguracyjny:
# vi odwrotne-proksy.conf
Wklej następujący szablon konfiguracji w tym nowo utworzonym pliku:
Kopiujserwer Słuchaj 80; lokalizacja/some/ścieżka/proxy_pass http: // przykład.com;
Zastępować
przykład.com
z adresem IP lub nazwą hosta serwera, na który przesyłasz. Możesz również określić port z nazwą hosta, taki jak127.0.0.1: 8080
Na przykład. Zapisz zmiany, a następnie wyjdź z edytora tekstu.Zauważ, że będzie to działać dla serwerów HTTP, ale Nginx obsługuje również inne protokoły. Omówimy te opcje w następnej sekcji.
- Włącz zapisane ustawienia serwera proxy, włącz nową konfigurację, tworząc symboliczny link do katalogu obsługującego witryny:
# ln -s/etc/nginx/witryny-dostępna/odwrotna-proksyma.conf/etc/nginx/witryny-obsługujący/odwrotny-proksy.conf
Serwery inne niż HTTP
Powyższy przykład pokazuje, jak przekazać żądania na serwer HTTP, ale możliwe jest również, aby Nginx działał jako odwrotny proxy dla Fastcgi, UWSGI, SCGI, I Memcached. Zamiast używać proxy_pass
Dyrektywa pokazana powyżej, zastąp ją odpowiednim typem:
- proxy_pass (serwer HTTP - jak pokazano powyżej)
- fastcgi_pass (serwer fastcgi)
- UWSGI_PASS (serwer UWSGI)
- SCGI_PASS (serwer SCGI)
- memcached_pass (memcached Server)
Jak przekazać nagłówki
Aby skonfigurować, co nagłówki przekazuje odwrotny serwer proxy do innych serwerów, możemy je zdefiniować w pliku konfiguracyjnym, który zrobiliśmy wcześniej. Użyj proxy_set_header
dyrektywa w celu dostosowania nagłówków.
Można je skonfigurować na serwerze, lokalizacji lub bloku HTTP. Na przykład:
lokalizacja/some/ścieżka/proxy_set_header host $ host; proxy_set_header X-forwarded-Proto $ Scheme; proxy_set_header x-real-ip $ remote_addr; Proxy_Pass http: // Przykład.com;
Kopiuj Powyższy przykład określa trzy typy nagłówków i ustawia je na odpowiednie zmienne. Istnieje wiele różnych opcji przekazywania nagłówków, ale ten przykład pokazuje trzy, które są bardzo powszechne.
Gospodarz
Nagłówek zawiera informacje o tym, który host jest żądany. X-forwarded-Proto
gatunki nagłówka, jeśli żądanie to HTTP lub HTTPS. I X-Real-IP
Nagłówek zawiera adres IP żądającego klienta.
Jak skonfigurować równoważenie obciążenia
Równoważenie obciążenia jest jednym z głównych uzasadnienia konfiguracji odwrotnego serwera proxy. Możemy zacząć od dodania kilku dodatkowych wierszy do pliku konfiguracyjnego, który utworzyliśmy wcześniej. Spójrz na przykład:
Upstream Backend_Servers host serwerowy1.przykład.com; Host serwera2.przykład.com; Host serwera3.przykład.com; serwer słuchaj 80; Przykład_nazowy Server_name.com; lokalizacja/proxy_pass http: // backend_servers;
Kopiuj W tym przykładzie dodaliśmy kontekst o nazwie backend_servers
. W środku nazwa hosta/IP każdego serwera jest określona w osobnej linii.
w proxy_pass
Dyrektywa, w której normalnie wprowadziliśmy nazwę hosta lub adres IP, zamiast tego określiliśmy nazwę wyżej zdefiniowanego kontekstu: backend_servers
.
Ta konfiguracja przekazuje przychodzące żądania do przykład.com
do trzech różnych hostów określonych w naszym upstream. Domyślnie Nginx przekaże te żądania okrągłe Robin, co oznacza, że każdy host obraca się, wystawiając żądanie.
Skonfiguruj algorytmy równoważenia obciążenia
Jak wspomniano, Round Robin jest domyślnym algorytmem, którego Nginx użyje do obrócenia żądań w górę. Dostępnych jest kilka innych algorytmów, które lepiej pasują do niektórych sytuacji:
- najmniej_conn - Rozpowszechnia przychodzące połączenia z serwerami zaplecza na podstawie ich bieżącej liczby aktywnych połączeń. Serwer otrzyma żądanie tylko wtedy, gdy ma najmniejszą liczbę połączeń w tym momencie. Jest to szczególnie pomocne w aplikacjach, które wymagają długotrwałych połączeń z klientem.
- ip_hash - Rozpowszechnia przychodzące połączenia na podstawie adresu IP klienta. Jest to pomocne, jeśli chcesz stworzyć spójność sesji.
- haszysz - Rozpowszechnia przychodzące połączenia na podstawie klucza skrótu. Jest to pomocne w memcached hosts, szczególnie.
Podaj metodę równoważenia obciążenia na górze kontekstu w górę, tak jak:
Upstream backend_servers najmniej_conn; Host serwera 1.przykład.com; Host serwera2.przykład.com; Host serwera3.przykład.com;
Kopiuj Jak przetestować konfigurację Nginx
Zawsze powinieneś przetestować konfigurację pod kątem błędów natychmiast po edycji .conf
plik, a następnie ponownie uruchom Nginx.
# Service nginx configTest # Service nginx restart
Wniosek
W tym artykule widzieliśmy, jak skonfigurować odwrotny serwer proxy z Nginx. Dowiedzieliśmy się również, jak działa odwrotny serwer proxy i jakie są zalety korzystania z jednego. Omówiliśmy równoważenie obciążenia i różne opcje, których potrzebuje administrator, aby skonfigurować je na własnym odwrotnym proxy.
Po wykonaniu kroków w tym przewodniku, mam nadzieję, że zobaczysz znaczny wzrost wydajności w środowisku internetowym i łatwiej będzie zarządzać teraz, gdy połączenia przychodzące są wysyłane do jednego punktu.
Powiązane samouczki Linux:
- Instalacja nagłówków jądra Manjaro Linux
- Rzeczy do zainstalowania na Ubuntu 20.04
- Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
- Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
- Jak często musisz ponownie uruchomić serwer Linux?
- OpenLitespeed jako odwrotny proxy
- Mint 20: Lepsze niż Ubuntu i Microsoft Windows?
- Rzeczy do zrobienia po zainstalowaniu Ubuntu 22.04 JAMMY Jellyfish…
- Hung Linux System? Jak uciec do wiersza poleceń i…
- Ubuntu 20.04 Przewodnik