Ten krótki przewodnik opisuje typowy błąd podczas pracy z serwerami NGINX (403 Forbidden), jego przyczyny i sposoby jego naprawy.
Co to jest błąd Nginx 403?
Błąd Nginx 403 Forbidden to kod stanu generowany i wyświetlany użytkownikowi, gdy klient próbuje uzyskać dostęp do części serwera WWW o niewystarczających uprawnieniach. Na przykład NGINX chroni listę katalogów i spowoduje błąd 403.
Przyczyny błędu Nginx 403 po stronie serwera
Zanim zaczniemy, warto zauważyć, że błąd może pochodzić po stronie klienta, a nie samego serwera. Najpierw zajmiemy się błędami po stronie serwera, a następnie błędami po stronie klienta.
Przyczyna 1: Nieprawidłowy plik indeksu
Pierwszą i częstą przyczyną błędu NGINX 403 Forbidden jest nieprawidłowa konfiguracja pliku indeksu.
Plik konfiguracyjny Nginx określa, które pliki indeksowe należy załadować i kolejność ich ładowania. Jeśli jednak określonych plików indeksowych nie ma w katalogu, Nginx zwróci zabroniony błąd 403.
Na przykład poniższa konfiguracja definiuje pliki indeksowe i sposób ich ładowania
Lokalizacja /indeks indeksu.indeks html.indeks htm.indeks html.php;
Jednym ze sposobów rozwiązania tego problemu jest dodanie pliku indeksu określonego w pliku konfiguracyjnym lub dodanie dostępnego pliku indeksu do pliku konfiguracyjnego.
Innym sposobem rozwiązania tego problemu jest zezwolenie Nginx na wyświetlanie katalogów, jeśli plik indeksu jest niedostępny. Włącz ten moduł, dodając następujący wpis do pliku konfiguracyjnego.
Lokalizacja /automatyczne indeksowanie;
autoindex_exact_size włączone;
UWAGA: Nie zalecamy tej metody na publicznie dostępnych serwerach.
Aby uzyskać więcej informacji na temat obsługi zawartości statycznej, zapoznaj się z zasobem dokumentacji Nginx podanym poniżej:
https://dokumenty.nginx.com/nginx/admin-guide/serwer-web/serving-static-content/
Przyczyna 2: Nieprawidłowo ustawione uprawnienia
Zabroniony błąd Nginx 403 może również wynikać z nieprawidłowego ustawienia uprawnień przez pliki i katalogi. Aby Nginx mógł pomyślnie serwerować określony plik i zasób klientowi, Nginx musi mieć uprawnienia do odczytu, zapisu i wykonywania RWX na całej ścieżce.
Aby rozwiązać ten błąd, zmień uprawnienia do katalogów na 755, a uprawnienia do plików na 644. Upewnij się, że użytkownik uruchamiający proces Nginx jest właścicielem plików. Na przykład ustaw użytkownika na www-data:
sudo chown -R www-dane:www-dane *Na koniec ustaw uprawnienia do katalogu i pliku jako:
sudo chmod 755 kat.sudo chmod 644 pliki
Przyczyna błędu 403 po stronie klienta
Jak wspomniano, w innych przypadkach błąd 403 może być spowodowany przez użytkownika, zamiast znajdować się po stronie serwera. Aby rozwiązać takie problemy po stronie klienta, wykonaj następujące operacje.
- Upewnij się, że uzyskujesz dostęp do właściwej lokalizacji internetowej
- Wyczyść pamięć podręczną przeglądarki
- Upewnij się, że zapora lub serwer proxy umożliwia dostęp do zasobów sieciowych.
Wniosek
W tym krótkim przewodniku omówiono przyczyny zakazanego błędu NGIX 403 i różne sposoby jego naprawy. Dobrze jest zajrzeć do logów serwera przed podjęciem jakichkolwiek prób rozwiązywania problemów.