Nginx - Petycje

Spisie treści
Nginx oprócz tego, że jest bardzo dobry w obsłudze plików statycznych i wysokiej wydajności, gdy jest używany jako odwrotny serwer proxy w przypadku innej usługi ma również potężny silnik obsługi żądań, co pozwala nam zarządzać żądaniami zewnętrznymi przychodzącymi przez HTTP, a także generować żądania wewnętrzne, które generuje Nginx zgodnie z warunkami, które programujemy.
Petycje zewnętrzne i wewnętrzne
Pierwszym krokiem, jaki musimy podjąć, jest rozpoznanie żądania zewnętrzne i wewnętrzne, ich nazwy już to dość dobrze odzwierciedlają, odbierane są prośby z zewnątrz Nginx poza systemem, za pośrednictwem protokołu HTTP, więc gdy użytkownik wprowadzi adres URL, który kieruje bezpośrednio do naszej usługi, jest to żądanie zewnętrzne.
Petycja wewnętrznaZamiast tego generowane jest żądanie wewnętrzne NginxMoże to być powiązane z żądaniem zewnętrznym lub nie, chociaż jest to względne, ponieważ wszystkie zdarzenia są zazwyczaj wywoływane przez żądania użytkownika.
Więc jeśli na przykład wpadniemy w a 404 odpowiedź Strona nie znaleziona, Nginx Jeśli masz skonfigurowaną dowolną regułę, możesz wywołać żądanie wewnętrzne, które spowoduje wyświetlenie spersonalizowanej wiadomości.
Rodzaje petycji wewnętrznych
Istnieją dwa rodzaje żądań wewnętrznych, które możesz wygenerować Nginx, są to:
Przekierowania wewnętrzneW tego typu przekierowaniu Nginx kieruje żądania klientów wewnętrznie, w ten sposób zmienia się adres URL, a następnie żądanie może się zmieniać między bloki lokalizacji które zdefiniowaliśmy na naszym serwerze, jednym z najczęstszych przypadków tego typu żądania jest aktywacja Przepisz moduł.
Żądania podrzędneTo wtedy generowane są dodatkowe żądania, które mogą uzupełniać treść, przykładem jest użycie modułu add_after_body co pozwala nam dodać treść do wyniku zapytania.
Blok strony błędu
Blok strona_błędu Jest to również jeden z funkcjonalnych przykładów tego, jak możemy ustanowić żądania wewnętrzne, zobaczmy ten prosty przykład:

Na obrazku widzimy, jak skonfigurowaliśmy nasz serwer, aby po otrzymaniu żądania, które generuje błąd, Nginx przekierowuje bezpośrednio do przygotowanych przez nas dokumentów, aby klient nie spotkał się z prymitywną odpowiedzią.
Teraz, jeśli chcemy przepisać powyższe i wyprowadzić to do a żądanie wewnętrzne możemy przyjąć następującą formę w bardziej rozbudowany sposób:

Tutaj widzimy, jak zdefiniowaliśmy, że gdy otrzymamy kod błąd 404, wysyłam go w konkretną lokalizację, czyli folder z błędami, ale później określamy, że gdy mamy żądanie do folderu z błędami, wykonamy żądanie wewnętrzne, w ten sposób tylko Nginx Możesz uzyskać dostęp do tych treści, więc jeśli ktoś spróbuje zrobić to zewnętrznie, nie będzie miał do nich dostępu.
Na tym zakończyliśmy ten samouczek, dzięki któremu mogliśmy zobaczyć, że właściwe wykorzystanie żądań wewnętrznych może pomóc nam poprawić bezpieczeństwo naszej witryny, uniemożliwiając im dostęp do tych zasobów z zewnątrz.
wave wave wave wave wave