Jak naprawić błąd 404 Nie znaleziono Nginx
Czy jako właściciel strony internetowej niepokoisz się, że Twoi czytelnicy podczas przeglądania Twojej witryny stale widzą komunikat 404 Nie znaleziono? Nie ma się czym stresować. Jest to kod stanu HTTP, który oznacza „Przepraszamy, ta strona internetowa lub plik nie jest dostępny na serwerze”.
Ten wpis na blogu pomoże Ci zrozumieć ten błąd i jego przyczynę. Pokazujemy również, jak naprawić błąd 404 Not Found Nginx i zapobiec mu.
Co to jest błąd „Nie znaleziono Nginx 404”?
Błąd 404 Not Found to powszechny kod stanu HTTP, który określa, że serwer Nginx nie może zlokalizować określonego zasobu sieciowego, którego szukasz.
Istnieje wiele odmian, w tym „Błąd HTTP 404”, „Nie znaleziono strony”, „Nie znaleziono”, „Błąd 404” i inne. Wszystkie te terminy odnoszą się do tego samego – brakuje elementu źródłowego.
Ten kod stanu nie jest błędem, nad którym warto się rozwodzić. Jedną z możliwych przyczyn może być to, że Ty lub Twoi współpracownicy celowo usunęliście zasób z serwera. W takim przypadku możesz po prostu pozostawić status 404 Not Found bez zmian.
Jeśli jednak tak nie jest, sprawdź następujące przyczyny tego błędu w Nginx.
Dlaczego w Nginx pojawia się błąd 404 Not Found?
Niektóre z powodów podano poniżej:
- Nieprawidłowy adres URL : jeśli popełnisz błąd typograficzny w adresie URL lub skorzystasz z uszkodzonego łącza.
- Przeniesiona strona internetowa : Żądana strona internetowa lub plik zostaje przeniesiony do nowej lokalizacji na serwerze.
- Błędna konfiguracja serwera : Ten błąd może wystąpić z powodu nieprawidłowych konfiguracji Nginx.
- Nieprawidłowe uprawnienia do plików : Wyszukiwanie pliku lub katalogu na serwerze z niewłaściwymi uprawnieniami może wywołać ten błąd.
- Uwzględnianie wielkości liter w nazwach plików : Nginx uwzględnia wielkość liter, jeśli chodzi o nazwy swoich plików i katalogów. Wyszukiwanie „Strona.html” zamiast „strona.html” może spowodować błąd 404.
- Zły katalog główny : Dyrektywa root w pliku konfiguracyjnym Nginx określa katalog do udostępniania plików żądań. Błędna konfiguracja oznacza, że serwer nie może uzyskać dostępu do dyrektywy root i spowoduje wyświetlenie błędu „Nie znaleziono”.
- Nieprawidłowa lokalizacja plików indeksu : Błędna konfiguracja plików indeksu (index.html lub indeks.php) w katalogu głównym dokumentu może spowodować błąd.
Napraw błąd 404 Nie znaleziono Nginx
Oto kilka kroków, które możesz wykonać, aby naprawić ten błąd na serwerze Nginx.
1. Sprawdź adres URL
Dokładnie sprawdź adres URL, którego szukasz, pod kątem błędów typograficznych i upewnij się, że jest on poprawny. Ponadto, jeśli masz do czynienia z osadzonymi linkami, sprawdź, czy nie ma literówek i uszkodzonych linków.
2. Sprawdź nazwę pliku pod kątem uwzględniania wielkości liter
Powinieneś sprawdzić, czy szukasz właściwej nazwy pliku z dokładną wielkością liter i rozszerzeniem. Różnica wielkości liter wynosząca jeden znak może wywołać ten błąd 404.
3. Sprawdź lokalizację pliku
Możesz sprawdzić, czy pliku nie brakuje lub czy znajduje się on w niewłaściwej lokalizacji. Przejdź do katalogu na serwerze, w którym powinien znajdować się poszukiwany plik. Jeśli pliku tam nie ma, oznacza to, że znalazłeś przyczynę błędu. Aby to naprawić, przenieś plik do docelowej lokalizacji lub zaktualizuj ścieżkę pliku w pliku konfiguracyjnym.
4. Sprawdź uprawnienia i własność pliku
Jeśli przyczyną nie była lokalizacja pliku, musisz sprawdzić uprawnienia i własność pliku. Jeśli Nginx nie ma wymaganych uprawnień dostępu do pliku, nie będzie mógł udostępnić go publicznie.
Aby wyświetlić aktualne uprawnienia i własność plików, możesz użyć ls
polecenia :
Jeśli znajdziesz jakiś problem z uprawnieniami do pliku, przypisz odpowiednie uprawnienia do odczytu lub wykonywania do pliku za pomocą polecenia chmod . Jeśli jednak problem leży po stronie własności, możesz użyć polecenia chown , aby go naprawić.
5. Konfiguracja serwera
Jeśli błąd 404 Nie znaleziono nadal występuje, przyczyną może być błędna konfiguracja serwera. Aby rozwiązać ten problem, otwórz plik konfiguracyjny ( nginx.conf ), zwykle zlokalizowany w „/usr/local/nginx/conf”, „/etc/nginx” lub „/usr/local/etc/nginx”.
W szczególności po otwarciu pliku konfiguracyjnego poszukaj następujących informacji:
- Nieprawidłowe bloki serwera : Blok serwera informuje Nginx, jak obsługiwać żądania dotyczące określonej nazwy domeny lub adresu IP. Poszukaj wszelkich błędnych konfiguracji i popraw je.
- Nieprawidłowe bloki lokalizacji : Blok lokalizacji jest odpowiedzialny za obsługę żądań dotyczących określonych ścieżek na serwerze. Upewnij się, że wszystkie bloki lokalizacji są poprawnie skonfigurowane.
- Niepoprawna dyrektywa root : Dyrektywa root oznacza, że każdy blok serwera jest odpowiedzialny za zdefiniowanie ścieżki do katalogu głównego. Musisz upewnić się, że jest on precyzyjnie skonfigurowany.
- Brakujące dyrektywy : w pliku konfiguracyjnym wymaganych jest wiele dyrektyw. Upewnij się, że uwzględniłeś wszystkie wymagane dyrektywy, aby zapewnić prawidłowe działanie.
Po dokonaniu wymaganych zmian w pliku konfiguracyjnym musisz ponownie uruchomić serwer Nginx.
Jeśli błąd wystąpił z powodu błędnej konfiguracji serwera Nginx, ta poprawka przywróci wszystko na właściwe tory.
6. Przepisz zasady
Jeśli błąd nadal występuje, problem prawdopodobnie leży w regułach przepisywania, odpowiedzialnych za przekierowywanie żądań do zasobów. Aby potwierdzić swoje wątpliwości, spróbuj tymczasowo uzyskać dostęp do materiału źródłowego bez zasad przepisywania.
Aby to zrobić, zakomentuj dyrektywy „ rewrite ” i „ location ” w pliku konfiguracyjnym:
Następnie uruchom ponownie serwer Nginx i ponownie znajdź żądany zasób. Jeśli były one główną przyczyną, przejrzyj reguły przepisywania w konfiguracji Nginx i upewnij się, że są poprawnie skonfigurowane.
7. Zbadaj dzienniki
Jeśli nic nie działa, możesz sprawdzić dziennik serwera, aby sprawdzić, co mogło pójść nie tak i poprawić to. Dziennik błędów Nginx zazwyczaj znajduje się pod adresem „/var/log/nginx/error.log”.
Zapobiegaj błędowi Nginx 404 Not Found
Po naprawieniu błędu należy koniecznie podjąć działania, które zapobiegną wystąpieniu tego błędu w przyszłości.
- Musisz okresowo przeprowadzać audyt swojego serwera, aby wykryć potencjalne błędy, takie jak 404 Nie znaleziono i zapobiec im.
- Powinieneś także używać różnych narzędzi monitorujących do monitorowania czasu pracy i wydajności serwera Nginx. Narzędzia te pomogą Ci nadrobić zaległości w pojawiających się problemach.
- Musisz zastosować odpowiednią strukturę adresu URL na całym serwerze. Możesz użyć trwałych przekierowań 301 w przypadku nieaktualnych lub uszkodzonych adresów URL.
- Idealną praktyką jest utworzenie kopii zapasowej konfiguracji serwera przed wprowadzeniem jakichkolwiek zmian, aby uniknąć problemów.
- Co więcej, możesz ustalić konwencje nazewnictwa plików lub katalogów, aby pomóc w zapamiętaniu prawidłowych nazw plików i uniknięciu tego błędu spowodowanego błędami w nazewnictwie.
- Utwórz spersonalizowaną stronę , która będzie wyświetlana na wypadek, gdyby Ty lub inna osoba napotkała ten błąd w przyszłości. Ta strona zapewni lepszą obsługę użytkownika.
Dodatkowe bezpieczeństwo Twojego serwera Nginx
Teraz, gdy już rozwiązałeś błąd Nginx 404 Not Found, najwyższy czas rozważyć zabezpieczenie swojego serwera WWW . Pomoże to w ochronie przed potencjalnymi zagrożeniami, takimi jak ataki DDoS . Ataki DDoS mogą zakłócić działanie Twojego serwera Nginx i sprawić, że będzie on niedostępny dla odbiorców.
Źródło obrazu: Błąd 404 autorstwa DepositPhotos. Wszystkie zrzuty ekranu wykonał duński Ghafoor.
Dodaj komentarz