Jak naprawić błąd niedopuszczalny HTTP 406? Poprawka po stronie klienta i serwera
Opublikowany: 2024-01-26Co to jest błąd HTTP 406?
Kod błędu 406 to błąd po stronie klienta, który wskazuje, że żądanie klienta nie jest akceptowane przez serwer. Uruchamia się, gdy serwer nie jest w stanie wygenerować odpowiedzi zgodnej z listą akceptowalnych wartości określoną w nagłówkach żądania.
Dlatego ten konkretny błąd 406 Niedopuszczalny kontrastuje również z błędami serwera 5xx, takimi jak przekroczenie limitu czasu bramy 504.
Jest to jeden z najrzadszych błędów HTTP, z którym prawie nie spotykasz się podczas surfowania po Internecie, ale jeśli masz pecha i musiałeś zobaczyć ten błąd na swojej stronie internetowej, ogólnie wygląda to tak:
Na powyższym obrazku widać, że błąd 406 został potwierdzony dodatkowym komunikatem o błędzie o treści „ Na tym serwerze nie można znaleźć odpowiedniej reprezentacji żądanego zasobu. Ten błąd został wygenerowany przez Mod_Security. ”
Co nie jest zbyt pomocne dla ludzi, szczególnie tych, którzy nie są znani z technologii, a nawet brzmi dość tajemniczo i robotycznie. Pozwól nam więc ułatwić Ci zrozumienie, co dokładnie ma na celu ten komunikat o błędzie.
Klient, czyli przeglądarka lub urządzenie, próbuje powiedzieć, że próbował wyświetlić stronę internetową, ale wystąpiły pewne możliwe problemy, takie jak:
1. Serwer wysłał zły plik, który nie jest obsługiwany przez przeglądarkę.
2. Serwer nie jest w stanie przedstawić prawidłowych wymagań bezpieczeństwa lub prawdopodobnie nie przestrzega protokołów.
Zrozumienie błędu HTTP 406
Zacznijmy od bardzo prostego języka, ten błąd 506 po prostu pokazuje, że serwer nie jest w stanie wysłać odpowiednich danych w formacie żądanym przez klienta, czyli przeglądarkę internetową.
Klient, czyli Twoja przeglądarka internetowa, ma określone kryteria lub formaty, które może zaakceptować za pomocą nagłówka „Akceptuj”. Jeśli jednak serwer nie będzie w stanie spełnić tych kryteriów, w odpowiedzi wyświetli błąd kodu stanu HTTP 406.
Teraz nadchodzi najtrudniejsza część. Ustalenie dokładnej przyczyny tego błędu może być bardzo problematyczne, ponieważ problem może wystąpić z dowolnego miejsca na serwerze i w łańcuchu komunikacyjnym klienta.
Ale niezależnie od przyczyn, oto niektóre metody, które możesz wypróbować, aby naprawić ten błąd HTTP 406.
Jak naprawić błąd 406?
Oto niektóre metody rozwiązywania problemów, które można zastosować, aby naprawić błąd 406.
Rozwiązania po stronie klienta
1. Sprawdź, czy wpisany adres URL jest poprawny, czy nie
Brzmi to oczywiste i bardzo proste, ale zaufaj nam, jest to najprostsza, ale najszybsza metoda, jaką możesz wypróbować, aby naprawić błąd 406.
Chociaż w rzeczywistości błąd 406 jest prawdopodobnie większy, niż się wydaje, w tej chwili, jeśli wprowadziłeś zły adres URL i jest on nieprawidłowy, może pojawić się komunikat o błędzie „406 Niedopuszczalne”.
Aby rozwiązać ten problem, wystarczy ponownie sprawdzić wprowadzony adres URL i sprawdzić, czy wszystko jest poprawne. Jak na przykład,
- Sprawdź, czy nie ma błędów ortograficznych
- Sprawdź, czy wprowadzono jakiś znak specjalny, który jest nieprawidłowy
- Spróbuj wprowadzić adres URL innych stron, aby sprawdzić, czy dzieje się to tylko w przypadku jednej strony.
Jeśli błąd będzie się powtarzał, sprawdź nasze inne rozwiązania.
2. Zresetuj i skonfiguruj sieć i urządzenia
Ponieważ błąd 406 jest problemem po stronie klienta, niektóre platformy, takie jak gry online lub usługi strumieniowego przesyłania multimediów, takie jak Netflix i platforma do strumieniowego przesyłania muzyki Spotify, mogą również nie być w stanie spełnić żądania klienta, co prowadzi do wyświetlenia tego błędu.
W tej chwili możesz pomyśleć, że jest to problem po stronie serwera, ale istnieje większe prawdopodobieństwo, że problem wystąpił po stronie klienta. Może to być Twój komputer osobisty, połączenie internetowe lub dowolne urządzenie, którego użyłeś do uruchomienia tych platform.
Ponieważ jest to głównie spowodowane niekompatybilnością lub nieobsługiwanymi nagłówkami przez serwer, możesz spodziewać się tego błędu na dowolnej platformie, niezależnie od tego, czy jest to Netflix, Amazon Prime, Hulu itp.
Ponadto nie możemy wyjaśnić każdego kroku rozwiązywania problemu z błędem 406 na każdej z tych platform. Możesz jednak wykonać te podstawowe kroki dla każdej platformy i sprawdzić, czy błąd został naprawiony.
- Uruchom ponownie urządzenie sieciowe, takie jak router, wyłączając je lub odłączając od źródła zasilania > Poczekaj chwilę (około 2 minut) > Podłącz je ponownie i włącz urządzenie.
- W podobny sposób możesz także ponownie uruchomić system do gier, komputer osobisty, urządzenia OTT itp.
- Spróbuj podłączyć urządzenie do przesyłania strumieniowego do innej sieci, np. WLAN lub sieci komórkowej, i sprawdź, czy błąd nadal występuje.
- Sprawdź aktualną wersję aplikacji do przesyłania strumieniowego multimediów i zaktualizuj ją, jeśli jest dostępna.
- Jeśli żadna z powyższych metod nie zadziała, najlepiej będzie poszukać forów i poradników dostępnych online na każdej platformie streamingowej.
3. Przywróć ostatnie aktualizacje WordPress
Uwaga: zanim spróbujesz zmienić cokolwiek w witrynie, pierwszą rzeczą, którą musisz zrobić, to jako środek zapobiegawczy wykonać pełną kopię zapasową witryny. Dzięki temu, jeśli coś pójdzie nie tak, nadal będziesz mógł wrócić do swojej witryny bez szwanku.
Jeśli niedawno zaktualizowałeś WordPressa tuż przed pojawieniem się kodu błędu 406, rozważ natychmiastowe przywrócenie poprzedniej wersji.
W celach informacyjnych możesz zapoznać się z tym dedykowanym postem „Jak ponownie zainstalować WordPress? 4 najlepsze metody do naśladowania”.
Podobnie wszelkie niedawno uaktualnione rozszerzenia lub moduły mogą również powodować problemy po stronie serwera, więc powrót do poprzednich wersji może również pomóc.
4. Odinstaluj ostatnio dodane rozszerzenia, wtyczki lub motywy
Jeśli niedawno dodałeś rozszerzenie, wtyczkę lub motyw, niezależnie od tego, jakiego systemu zarządzania treścią używasz, i później widzisz błąd 406. Lepiej sprawdzić, czy to oni stworzyli problem.
Dzieje się tak dlatego, że te wtyczki lub motywy mają dostęp do Twojej bazy danych i mogą wprowadzać w niej zmiany, takie jak dodawanie dodatkowego kodu do plików witryny lub zmienianie rekordów bazy danych. Działania te mogą skutkować wystąpieniem błędu HTTP 406.
Najlepszym sposobem na znalezienie problematycznych wtyczek lub motywów jest dezaktywacja ich jedna po drugiej i sprawdzenie, czy błąd 406 nadal się pojawia. Jeśli błąd zniknie, najprawdopodobniej przyczyną jest dezaktywowana wtyczka lub motyw.
5. Poszukaj zmian w rekordach bazy danych
Jak wspomniano w powyższej sekcji, niektóre wtyczki i motywy mogą modyfikować lub zmieniać rekordy bazy danych. W związku z tym nawet po usunięciu lub odinstalowaniu ich z panelu WordPress niektóre ślady mogą nadal znajdować się w bazie danych.
Te ślady mogą nadal być odpowiedzialne za wywołanie błędu 406.
Najlepszą rzeczą, jaką możesz zrobić, to otworzyć bazę danych za pomocą Adminera lub phpMyAdmina i sprawdzić tabele.
Sprawdź tabele i rekordy WordPress, które prawdopodobnie zostały zmodyfikowane przez wtyczki lub motywy.
Informacje : Jeśli Twoja witryna jest hostowana na serwerze WPOven, możesz łatwo uzyskać dostęp do swojej bazy danych za pomocą narzędzia Menedżer bazy danych .
Rozwiązania po stronie serwera
Jeśli nie korzystasz z żadnego systemu CMS, takiego jak WordPress, lub po wypróbowaniu wszystkich powyższych metod nadal pojawia się błąd HTTP 406. Oto kilka innych metod rozwiązywania problemów, które możesz zastosować po stronie serwera.
6. Sprawdź dzienniki serwera
Jedną z najlepszych sztuczek pozwalających sprawdzić, czy coś poszło nie tak po stronie serwera, jest sprawdzenie dzienników serwera. Niezależnie od tego, jakiego CMS-a, platformy internetowej czy aplikacji internetowej używasz, wszystkie one mają dostępne logi po stronie serwera.
Te dzienniki serwera zawierają krytyczne informacje o kondycji i stanie serwera lub sprzętu używanego do uruchamiania aplikacji internetowej.
Przeczytaj: W przypadku witryny WordPress: Jak skonfigurować i używać dziennika błędów WordPress?
Dla użytkowników WPOven: Przeczytaj: Jak mogę zobaczyć moje dzienniki dostępu i błędów?
7. Sprawdź konfigurację serwera WWW
Jeśli nie możesz rozwiązać błędu „ 406 Niedopuszczalne ”, następnym krokiem jest sprawdzenie plików konfiguracyjnych serwera WWW. Ten błąd zazwyczaj wskazuje, że serwer WWW ogranicza użytkownikom dostęp do określonego adresu URL.
Dlatego konieczne jest sprawdzenie konfiguracji serwera WWW pod kątem instrukcji obsługi żądań lub niezamierzonych przekierowań.
Aby sprawdzić konfigurację serwera internetowego, pierwszym krokiem jest określenie, z jakiego oprogramowania serwerowego korzysta Twoja witryna. Może to być NGINX lub Apache.
Jeśli Twoja witryna korzysta z Apache, poszukaj pliku .htaccess w katalogu głównym plików systemowych Twojej witryny. Jeśli jednak Twoja witryna korzysta z serwera WWW NGINX, zamiast tego musisz poszukać pliku NGINX.conf.
Możesz także zapoznać się z naszym dedykowanym artykułem na temat: „Plik .htaccess WordPress: jak go utworzyć i edytować?”
Gdy już znajdziesz plik .htaccess, otwórz go w edytorze tekstu i wyszukaj dyrektywy korzystające z flag 406.
Na przykład, oto dyrektywa blokowa (tj. nazwany zestaw dyrektyw), która konfiguruje serwer wirtualny dla WPOven.com i zapewnia, że podobnie jak powyżej, żądanie
https://wpoven.com./users/json, który nie zawiera nagłówka żądania Accept: application/JSON, zakończy się niepowodzeniem i zostanie wyświetlony kod odpowiedzi 406:
server {
listen 80;
listen 443 ssl;
server_name wpoven.com;
location /users/json {
if ($http_accept != application/json) {
return 406 https://wpoven.com/users/json$request_uri;
}
}
}
Teraz musisz dokładnie przyjrzeć się plikowi nginx.conf i sprawdzić, czy nie ma w nim żadnych podejrzanych, nieprawidłowych dyrektyw lub linii zawierających flagi 406. Jeśli znajdziesz jakiś, oznacz go jako „komentarz”, a następnie uruchom ponownie serwer, aby sprawdzić, czy błąd zniknie.
8. Debugowanie WordPressa
Jak wspomnieliśmy wcześniej, wiele aplikacji internetowych udostępnia dzienniki błędów, a nawet debugowanie wraz z nimi.
Debugowanie to proces polegający na znajdowaniu mniejszych błędów w kodach aplikacji i ich usuwaniu. Aby dowiedzieć się więcej o debugowaniu WordPressa, sprawdź nasz dedykowany post na temat „Debugowanie WordPressa: jak włączyć WP_DEBUG?”
9. Sprawdź Reguły bezpieczeństwa serwera
- Reguły bezpieczeństwa serwera mają na celu ochronę Twojego serwera i witryny przed złośliwymi działaniami, takimi jak ataki DDoS itp.
- Czasami jednak zasady te mogą być zbyt rygorystyczne, co prowadzi do blokowania uzasadnionych żądań i wyzwalania kodu błędu 406.
- Na przykład, jeśli reguła bezpieczeństwa jest skonfigurowana tak, aby blokować żądania z określonych adresów IP, może przypadkowo zablokować również prawdziwych użytkowników.
- Aby uniknąć takiej sytuacji, ważne jest, aby sprawdzić zasady bezpieczeństwa swojego serwera i, jeśli to możliwe, wprowadzić niewielkie zmiany, aby umożliwić prawidłowe żądania bez naruszania ochrony i funkcjonalności witryny.
Jak zapobiec błędowi 406?
Aby zapobiec błędowi 406 w Twojej witrynie, rozważ wdrożenie następujących zaleceń i zakazów.
- Przejrzyj zasady bezpieczeństwa:
- Sprawdź i przejrzyj reguły bezpieczeństwa wdrożone na Twoim serwerze. Upewnij się, że są skonfigurowane tak, aby były solidne, ale niezbyt rygorystyczne.
- Jeśli to możliwe, dostosuj reguły bezpieczeństwa, aby zezwalać na niezbędne i uzasadnione żądania.
- Zaktualizuj wtyczki i motywy:
- Aktualizuj swoje wtyczki i motywy. Programiści często wydają aktualizacje, aby naprawić błędy i poprawić kompatybilność, zmniejszając prawdopodobieństwo konfliktów prowadzących do błędów 406.
- Monitoruj logi serwera:
- Regularnie sprawdzaj dzienniki serwera pod kątem nietypowych działań lub komunikatów o błędach. Niezwłocznie rozwiązuj wszelkie problemy, aby zapobiec ich eskalacji do błędów 406.
- Zmiany testowe:
- Przed wprowadzeniem znaczących zmian, takich jak dodanie nowych wtyczek lub motywów, przetestuj je w środowisku testowym. Pozwala to zidentyfikować i rozwiązać potencjalne konflikty, zanim wpłyną one na działającą witrynę. Nie modyfikuj ani nie wprowadzaj zmian w podstawowych plikach WordPress, chyba że jest to bardzo konieczne.
- Zainstaluj tylko zaufane wtyczki lub motywy:
- Zawsze staraj się instalować renomowane i zaufane wtyczki, motywy lub rozszerzenia tylko wtedy, gdy jest to konieczne.
- Oczyszczanie bazy danych:
- Od czasu do czasu zawsze czyść lub optymalizuj swoją bazę danych, usuwając niepotrzebne pliki i ślady usuniętych wtyczek.
- Okresowo wdrażaj debugowanie:
- Regularne debugowanie serwera powinno stać się rutyną. Dzięki temu Twój serwer będzie działał sprawnie i płynnie, a odwiedzający będą mogli korzystać z witryny internetowej.
- Skonsultuj się z dostawcą usług hostingowych:
- Jeśli Twoja witryna jest hostowana, skontaktuj się z dostawcą usług hostingowych w celu uzyskania pomocy. Mogą być w stanie zidentyfikować problemy po stronie serwera lub pomóc w optymalizacji ustawień serwera, aby uniknąć błędów 406.
- Skorzystaj z sieci dostarczania treści (CDN):
- Wdrożenie CDN może pomóc w efektywnej dystrybucji treści Twojej witryny i zmniejszyć prawdopodobieństwo wystąpienia błędów związanych z serwerem, w tym błędów 406.
- Regularne kopie zapasowe:
- Regularnie twórz kopie zapasowe swojej witryny. W przypadku wystąpienia błędu posiadanie aktualnej kopii zapasowej pozwala szybko przywrócić witrynę do stanu roboczego.
Wniosek
Podobnie jak każdy błąd HTTP, możesz naprawić błąd 406 Nieakceptowalny. Jednak pierwszym krokiem, który należy podjąć, jest ustalenie przyczyny, która go wywołała.
Ponieważ nie jest to powszechny kod błędu HTTP, od czasu do czasu możesz się z nim spotkać, jeśli nie jest poprawnie skonfigurowany.
Jeśli masz jakieś sugestie lub pytania dotyczące tego błędu 406, daj nam znać w sekcji komentarzy poniżej.
Często Zadawane Pytania
Jak naprawić błąd 406?
Możesz łatwo naprawić błąd 406, postępując zgodnie z poniższymi metodami rozwiązywania problemów:
1. Sprawdź, czy wpisany adres URL jest poprawny, czy nie
2. Zresetuj i skonfiguruj sieć i urządzenia
3. Przywróć ostatnie aktualizacje WordPress
4. Odinstaluj ostatnio dodane rozszerzenia, wtyczki lub motywy
5. Poszukaj zmian w rekordach bazy danych
6. Sprawdź dzienniki serwera
7. Sprawdź konfigurację serwera WWW
8. Debugowanie WordPressa
9. Sprawdź Reguły bezpieczeństwa serwera
Co oznacza liczba 406?
Kod błędu 406 oznacza, że żądanie klienta nie jest akceptowane przez serwer. Uruchamia się, gdy serwer nie jest w stanie wygenerować odpowiedzi zgodnej z listą akceptowalnych wartości określoną w nagłówkach żądania.
Jaka jest różnica między HTTP 404 a 406?
HTTP 404 Not Found Wskazuje, że serwer nie mógł znaleźć żądanego zasobu, często z powodu brakującej strony internetowej lub nieprawidłowego adresu URL. Natomiast wartość HTTP 406 Not Acceptable wskazuje, że serwer nie może wygenerować odpowiedzi spełniającej kryteria określone w nagłówkach żądań, takie jak typy zawartości lub języki. Występuje, gdy serwer nie jest w stanie spełnić określonych wymagań klienta.
Rahul Kumar jest entuzjastą sieci i specjalistą ds. strategii treści, specjalizującym się w WordPressie i hostingu. Dzięki wieloletniemu doświadczeniu i zaangażowaniu w bycie na bieżąco z trendami branżowymi tworzy skuteczne strategie online, które generują ruch, zwiększają zaangażowanie i zwiększają konwersję. Dbałość Rahula o szczegóły i umiejętność tworzenia atrakcyjnych treści czyni go cennym nabytkiem dla każdej marki chcącej poprawić swoją obecność w Internecie.