Co to jest błąd „414 Żądanie URI za długi” i jak go naprawić (zarówno w przypadku witryny kodowanej, jak i witryny WordPress)

Nkenganyi Clovis Poradniki WordPress Sep 11, 2023

Błąd 414 Request URI Too Long Error to kod stanu HTTP wskazujący, że serwer nie może wykonać żądania, ponieważ identyfikator URI (Uniform Resource Identifier) ​​jest za długi.

Identyfikator URI to ciąg znaków identyfikujący zasób online, taki jak strona internetowa, obraz lub plik. Ciąg zapytania, będący częścią identyfikatora URI zawierającą dodatkowe informacje lub parametry dla serwera, może również zostać uwzględniony w identyfikatorze URI.

Na przykład jest to identyfikator URI z ciągiem zapytania:

https://example.com/search?q=co+jest+414+żądanie+uri+too+long+błąd

Twórz niesamowite strony internetowe

Z najlepszym darmowym kreatorem stron Elementor

Zacząć teraz

Ciąg zapytania zaczyna się od znaku zapytania (?) i zawiera parametr q o wartości what+is+414+request+uri+too+long+error .

Należy pamiętać, że istnieje różnica pomiędzy URI i URL . URI lub jednolity identyfikator zasobu może być nazwą, lokalizacją lub obydwoma zasobami. Z drugiej strony adres URL lub jednolity lokalizator zasobów może być jedynie lokalizacją zasobu.

Konfiguracja serwera i specyfikacje przeglądarki ograniczają długość identyfikatora URI. różne serwery i przeglądarki mogą mieć różne ograniczenia, jednak średnia długość identyfikatora URI wynosi około 2000 znaków. Jeśli identyfikator URI jest dłuższy niż ten limit, serwer może zgłosić błąd 414, aby ostrzec, że nie jest w stanie zaakceptować tak długiego żądania.

Co powoduje błąd zbyt długiego identyfikatora URI żądania 414?

Istnieje kilka możliwych przyczyn błędu 414 Zbyt długi identyfikator URI żądania. Niektórzy z nich są:

1. Konwersja żądania POST z długim ciągiem zapytania na żądanie GET :

Żądanie POST to żądanie HTTP, które wysyła dane do serwera w treści wiadomości, podczas gdy żądanie GET przesyła dane w identyfikatorze URI. Żądanie POST może czasami zostać przekształcone w żądanie GET przez przeglądarkę, pośredniczący serwer proxy lub zaporę ogniową. Może to spowodować, że ciąg zapytania będzie dłuższy niż limit URI.

2. Używanie wtyczek lub motywów generujących długie identyfikatory URI:

Długie identyfikatory URI mogą być używane przez niektóre wtyczki lub motywy do wykonywania określonych funkcji lub wyświetlania określonych funkcji w witrynie WordPress. Niektóre wtyczki mogą na przykład wykorzystywać identyfikatory URI do przechowywania preferencji użytkownika, ustawień lub danych. Niektóre motywy mogą używać identyfikatorów URI do generowania dynamicznych układów, menu lub widżetów. Jeśli te identyfikatory URI mają zbyt wiele argumentów lub wartości, mogą przekroczyć limit.

3. Konstruowanie pętli przekierowań:

Przekierowanie to metoda przenoszenia użytkownika z jednego URI na inny. Przekierowanie może czasami wskazywać na inne przekierowanie, co powoduje powstanie pętli. Istnieje pętla przekierowań, jeśli https://example.com/a przekierowuje do https://example.com/b , a https://example.com/b przekierowuje do https://example.com/a .

Gdy nastąpi przekierowanie, ciąg zapytania może zostać dołączony do nowego URI, wydłużając go, aż osiągnie limit.

4. Serwer jest atakowany:

Złośliwy użytkownik może celowo przesłać do serwera bardzo długi identyfikator URI, aby spowodować błąd lub wykorzystać lukę. Może to być część ataku typu „odmowa usługi” lub „wstrzyknięcie”.

Jak naprawić błąd zbyt długiego identyfikatora URI żądania 414?

Zanim przejdziemy dalej, zalecamy utworzenie kopii zapasowej WordPress. Wynika to z faktu, że rozwiązanie problemu 414 wymaga modyfikacji plików konfiguracyjnych serwisu. Jeśli coś pójdzie nie tak, będziesz mieć kopię zapasową swojej witryny, którą będziesz mógł przywrócić.

1. Ustal, czy Twoja witryna jest obsługiwana przez Apache czy Nginx

Najpierw musisz określić rodzaj serwera, z którego korzysta Twoja witryna WordPress. Istnieją dwa podstawowe typy serwerów: Apache i Nginx .

Otwarcie witryny w przeglądarce to prosty sposób, aby to osiągnąć. Następnie kliknij stronę główną prawym przyciskiem myszy i wybierz opcję „Sprawdź” lub naciśnij przycisk F12 na klawiaturze.

Następnie przejdź na górę i wybierz zakładkę „Sieć”.

Możesz teraz wybrać dowolny element z kolumny Nazwa. Następnie przejdź do sekcji „Nagłówki odpowiedzi” i spójrz na szczegóły „Serwera”.

Dzięki temu dowiesz się, czy Twoja witryna jest obsługiwana przez Nginx czy Apache.

Jeśli nadal nie masz pewności, jakiego typu serwera użyć, skontaktuj się ze swoim dostawcą usług hostingowych WordPress, aby uzyskać dalsze informacje.

Po określeniu typu serwera przyjrzyjmy się, jak rozwiązać problem zbyt długiego identyfikatora URI żądań 414 w Apache i Nginx.

Naprawianie błędu 414 żądania URI zbyt długiego w Nginx

Aby uzyskać dostęp do plików konfiguracyjnych witryny internetowej, potrzebujesz najpierw klienta protokołu FTP lub przesyłania plików.

Dostępnych jest wielu klientów FTP. W tej lekcji będziemy korzystać z Filezilli.

Po zalogowaniu musisz pobrać plik „nginx.conf”. Możesz się do niego dostać, przechodząc do tej lokalizacji: /etc/nginx/nginx.conf.

Po znalezieniu pliku pobierz go na komputer i otwórz za pomocą programu Notatnik.

Tutaj możesz poszukać ustawień Large_client_header_buffers 4 8K . Jeśli go nie ma, po prostu umieść go na końcu pliku.

Będą dwa zestawy wartości, po jednym dla każdej liczby i rozmiaru. Po prostu zmień rozmiar pliku z 8K na 128K . Spowoduje to wydłużenie identyfikatora URI i umożliwi serwerowi witryny przetwarzanie długich adresów URL.

Po zakończeniu zapisz plik tekstowy i prześlij go ponownie na swoją stronę internetową za pośrednictwem klienta FTP.

Naprawianie błędu 414 żądania URI zbyt długiego w Apache

Jeśli używasz Apache jako serwera, procedura jest podobna do tej w Nginx. Aby uzyskać dostęp do plików witryny, potrzebujesz najpierw klienta FTP.

Po zalogowaniu poszukaj pliku „apache2.conf”. Korzystając z klienta FTP, przejdź do następującej lokalizacji: /etc/apache2/apache2.conf.

Następnie pobierz plik i otwórz go w programie Notatnik.

Następnie poszukaj ustawień LimitRequestLine 128000 . Jeśli go nie widzisz, po prostu dodaj go na końcu pliku.

LimitRequestLine jest zwykle ustawiony na 128000. Można jednak zwiększyć tę wartość do 256000 lub więcej, aby wyeliminować błąd 414. Upewnij się tylko, że wprowadzona liczba jest wielokrotnością 2.

Po zakończeniu zapisz plik tekstowy i prześlij go ponownie na swoją stronę internetową za pośrednictwem klienta FTP. Po wykonaniu tej czynności błąd 414 powinien zostać rozwiązany.

2. Aktualizowanie lub wyłączanie wtyczek lub motywów generujących długie identyfikatory URI

Jeśli używasz wtyczek lub motywów w swojej witrynie WordPress, które generują długie identyfikatory URI, powinieneś sprawdzić dostępność aktualizacji, które mogą rozwiązać problem. Jeśli nie, możesz rozważyć tymczasowe lub trwałe wyłączenie ich do czasu znalezienia lepszego rozwiązania.

3. Kontakt z dostawcą usług hostingowych lub administratorem witryny

Jeśli nie masz własnego serwera, ale widzisz ten problem w swojej witrynie WordPress lub innej odwiedzanej witrynie, skontaktuj się z dostawcą usług hostingowych lub administratorem witryny i poproś o zwiększenie ograniczenia długości URI na ich serwerze.

Wniosek

Mam nadzieję, że ten post na blogu wyjaśnił, czym jest błąd 414 Request URI Too Long i jak go rozwiązać w witrynie WordPress.

Divi WordPress Theme