Błąd internetu

Błąd ERR_RESPONSE_HEADERS_MULTIPLE_LOCATION – przyczyny i naprawa

Mateusz Sobociński
Autor: Mateusz Sobociński - CEO & Red. Nacz. @ asMAX
4 min. czytania

Błąd ERRRESPONSEHEADERSMULTIPLELOCATION oznacza, że serwer wysłał do przeglądarki więcej niż jeden nagłówek Location w odpowiedzi HTTP, co jest niedozwolone według standardu. Najczęściej błąd ten pojawia się podczas przekierowań (HTTP 3xx), uniemożliwiając poprawne wyświetlenie strony. Poniższy poradnik szczegółowo wyjaśnia przyczyny i przedstawia instrukcje naprawy, zarówno dla webmastera/web dewelopera jak i użytkownika końcowego.

Wyjaśnienie – Co oznacza błąd ERRRESPONSEHEADERSMULTIPLELOCATION?

  • HTTP Location header służy do wskazania adresu URL, pod który przeglądarka ma zostać przekierowana (np. po logowaniu, zmianie hasła, itp.).
  • Specyfikacja HTTP zabrania wysyłania więcej niż jednego nagłówka Location w jednej odpowiedzi – przeglądarki traktują to jako potencjalne zagrożenie (response splitting), odrzucają taką odpowiedź i pokazują błąd.

Najczęstsze przyczyny błędu

  • Błędy w konfiguracji serwera lub aplikacji – framework lub własny kod dodaje nagłówek Location kilkukrotnie.
  • Konflikty w warstwach proxy, load balancerów lub firewalli – mogą one dublować nagłówki Location przy przekierowaniach.
  • Błędy w routingach backendowych – np. kod zarówno na poziomie aplikacji, jak i na poziomie serwera (nginx/Apache) generuje przekierowanie.
  • Nieprawidłowe ustawienie middleware lub pluginów – systemy zarządzania treścią i pluginy mogą niezależnie dodawać przekierowania.
  • Zmiany w plikach konfiguracyjnych bez testów – np. modyfikacja pliku .htaccess lub konfigów proxy.

Jak naprawić błąd – instrukcja dla webmastera/web dewelopera

1. Diagnoza – Wykrywanie podwójnych nagłówków

A. Użyj narzędzi do analizy nagłówków (np. curl, Chrome DevTools, Wireshark) –

curl -I https://twojadomena.pl 

Sprawdź odpowiedź – jeśli widać więcej niż jeden nagłówek Location, potwierdzenie błędu.

B. Sprawdź logi serwera www – Apache, nginx czy IIS; szukaj wpisów o podwójnym przekierowaniu.

C. Sprawdź framework/back-end – czy mechanizm przekierowań/aplikacja nie generuje wielokrotnych nagłówków, np. przez warunki logiczne, middleware lub pluginy.

2. Usuwanie nadmiarowych nagłówków Location

  • Korekta kodu aplikacji –
    Upewnij się, że Location dodawany jest tylko raz na dany request. Przykładowo, w PHP wywołuj header('Location: ...') tylko raz i kończ skrypt po przekierowaniu (exit;).
  • Sprawdź konfigurację serwera
    W Apache:
  • Skontroluj plik .htaccess pod kątem powielonych reguł Redirect/RewriteRule. W nginx:
  • Sprawdź sekcje return 301/rewrite.
  • Zbadaj ustawienia proxy/load balancerów –
    Tylko jedna warstwa powinna dodawać nagłówek Location.

3. Testowanie poprawności

  • Po wyeliminowaniu podwójnych nagłówków, wykonaj testy w narzędziu curl oraz w przeglądarkach (Chrome, Firefox) sprawdzając poprawne przekierowania.
  • Skontroluj także, czy inne nagłówki (np. Content-Disposition) nie pojawiają się wielokrotnie, to może generować podobne błędy.

4. Przykłady konfiguracji

Przykład w PHP (poprawne przekierowanie)

header('Location: https://nowyadres.pl'); exit; 

Przykład w nginx –

server { listen 80; server_name twojadomena.pl; return 301 https://nowyadres.pl$request_uri; } 

Instrukcja dla użytkownika końcowego

  • Odśwież stronę – czasem błąd jest tymczasowy.
  • Spróbuj użyć innej przeglądarki – wykluczenie lokalnego cache/cookies.
  • Skontaktuj się z administratorem strony – użytkownik nie ma możliwości samodzielnej naprawy, błąd leży po stronie serwera/proxy.
  • Sprawdź, czy inne strony działają poprawnie – jeśli nie, problem może dotyczyć Twojego połączenia przez proxy/firewall.

Dodatkowe informacje

  • Specyfikacja HTTP wyraźnie zabrania wielokrotnego przesyłania nagłówka Location (RFC 7320, sekcja 3.2.2).
  • Podobne błędy mogą dotyczyć innych nagłówków, np. Content-Disposition – tu przyczyną może być przecinek w nazwie pliku lub podwójnie wysłane nagłówki.
  • W systemach proxy (Squid, E2Guardian, itp.) – błędne reguły mogą wywoływać podwójne Location.

Podsumowanie kluczowych kroków naprawy

  • Sprawdź odpowiedź HTTP pod kątem podwójnych nagłówków Location.
  • Usuń dodatkowe nagłówki Location w kodzie aplikacji i konfiguracji serwerowej.
  • Przetestuj poprawność przekierowań lokalnie i przez różne przeglądarki.

Usunięcie podwójnych nagłówków Location jest konieczne, aby przeglądarki mogły prawidłowo obsłużyć przekierowanie, a użytkownik nie widział błędu ERRRESPONSEHEADERSMULTIPLELOCATION.

Podziel się artykułem
CEO & Red. Nacz. @ asMAX
Obserwuj:
Ex-redaktor w GW (Technologie) i ex-PR w koreańskim start-upie technologicznym. Absolwent Imperial College Business School (MBA) i Politechniki Warszawskiej. Od 2025 CEO i redaktor naczelny w asMAX.
Brak komentarzy

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *