Jak skonfigurować Nginx Reverse Proxy krok po kroku samouczek

Jak skonfigurować Nginx Reverse Proxy krok po kroku samouczek

Odwrotna proxy to rodzaj serwera, który znajduje się między klientem a serwerem, działając jako pośrednik między nimi. Akceptuje żądania od klientów, przekazuje te żądania do odpowiedniego serwera, a następnie zwraca odpowiedź serwera na klienta.

Odwrotne proxy są często używane do poprawy wydajności i bezpieczeństwa serwerów WWW oraz umożliwienia wielu serwerom pojawienia się jako pojedynczy serwer dla klientów. Na przykład do rozpowszechniania przychodzących żądań do wielu serwerów można użyć odwrotnej proxy, aby zwiększyć wydajność lub szyfrować ruch w celu bezpieczeństwa i odszyfrowania ruchu.

Jednym popularnym oprogramowaniem do konfigurowania odwrotnego proxy jest Nginx (wymawiane „silnik x”). W tym artykule omówimy, jak skonfigurować odwrotną proxy z Nginx za pomocą przykładu.

Krok 1: Zainstaluj Nginx

Pierwszym krokiem jest zainstalowanie Nginx na serwerze. Zazwyczaj można to zrobić za pomocą menedżera pakietów systemu operacyjnego (e.G. Apt-get w systemach opartych na debian, DNF na systemach opartych na Red Hat).

sudo apt aktualizacja && sudo apt instal nginx  
sudo dnf instaluj nginx  

Krok 2: Skonfiguruj aplikację zaplecza

Aplikacja zaplecza powinna słuchać w innym porcie. Na przykład utworzyłem przykładowy węzeł.Aplikacja JS, która obsługuje przychodzące żądania za pomocą modułu Express Węzia. Ta aplikacja słucha na LocalHost i Port 3000.

serwer węzłów.JS 
Wyjście debugger słuchający na serwerze portu 5858 działający na stronie http: // 127.0.0.1: 3000/ 

Krok 3: Skonfiguruj blok serwera Nginx

Nginx używa bloków serwerów do konfigurowania poszczególnych stron internetowych. Musimy utworzyć nowy plik konfiguracyjny bloku serwera dla naszego odwrotnego proxy.

sudo nano/etc/nginx/conf.D/odwrotna-proksja.conf  

Dodaj następującą konfigurację do pliku konfiguracyjnego bloku serwera:

serwer Słuchaj 80; Przykład_nazowy Server_name.com; lokalizacja/proxy_pass http: // 127.0.0.1: 3000; proxy_set_header host $ host; proxy_set_header x-real-ip $ remote_addr; proxy_set_header x-forwarded-for $ proxy_add_x_forwarded_for;
1234567891011serwer Słuchaj 80; Przykład_nazowy Server_name.com; lokalizacja/proxy_pass http: // 127.0.0.1: 3000; proxy_set_header host $ host; proxy_set_header x-real-ip $ remote_addr; proxy_set_header x-forwarded-for $ proxy_add_x_forwarded_for;

W powyższym pliku konfiguracyjnym:

  • Posłuchaj 80; definiuje port, na którym Nginx będzie słuchać połączeń przychodzących.
  • Przykład_nazowy Server_name.com; to nazwa domeny, która zostanie użyta do dostępu do odwrotnego proxy.
  • proxy_pass http: // backend-server; mówi Nginx, aby przekazał przychodzące żądania do określonego serwera backend.
  • proxy_set_header host $ host; i proxy_set_header x-real-ip $ remote_addr; i proxy_set_header x-forwarded-for $ proxy_add_x_forwarded_for; są używane do ustawiania nagłówków, których serwer backend może użyć do identyfikacji oryginalnego klienta.

Krok 4: Uruchom ponownie Nginx

Przed ponownym uruchomieniem usługi Nginx przetestuj pliki konfiguracyjne za pomocą następującego polecenia:

sudo nginx -t  

Jeśli test konfiguracji zakończy się powodzeniem, ponownie uruchom Nginx, aby zastosować zmiany:

sudo systemctl restart nginx  

Uwaga: Jest to podstawowy przykład, aw rzeczywistości może być konieczne skonfigurowanie innych ustawień, takich jak SSL, buforowanie i bezpieczeństwo. Konieczne może być również skonfigurowanie Nginx do obsługi różnych rodzajów żądań, takich jak obsługa WebSockets lub obsługa plików statycznych. Ponadto ważne jest również, aby wziąć pod uwagę wydajność i skalowalność proxy Nginx Reverse, zwłaszcza jeśli oczekujesz dużego ruchu.

Aby zabezpieczyć odwrotną proxy, możesz użyć certyfikatów SSL. Możesz użyć Let's Scrypt, aby uzyskać bezpłatny certyfikat SSL. Po uzyskaniu certyfikatu możesz skonfigurować Nginx, aby go użyć.

Do buforowania możesz użyć dyrektyw Proxy_Cache_Path i Proxy_Cache_Bypass, aby skonfigurować buforowanie dla odwrotnego proxy.

Wniosek

Podsumowując, Nginx Reverse Proxy może być potężnym narzędziem do zarządzania wieloma serwerami internetowymi oraz poprawy wydajności i bezpieczeństwa aplikacji internetowych. Mam nadzieję, że ten samouczek dostarczył ci dobry punkt wyjścia do konfigurowania własnego proxy Nginx Reverse.