Błąd ERRINVALIDSIGNED_EXCHANGE – poradnik z wyjaśnieniem, przyczynami i instrukcjami naprawy
Błąd ERRINVALIDSIGNED_EXCHANGE pojawia się najczęściej w przeglądarce Google Chrome podczas próby otwarcia strony internetowej, która korzysta z Signed HTTP Exchanges (SXG). Błąd ten oznacza problem z poprawnością, integralnością lub autoryzacją podpisanej wymiany HTTP.
Wyjaśnienie SXG i błędu ERRINVALIDSIGNED_EXCHANGE
Signed HTTP Exchange (SXG) to technika umożliwiająca dystrybucję stron (np. przez Google Search lub CDN) z zachowaniem ich autentyczności i integralności. Strona w formacie SXG jest podpisana cyfrowo tak, aby przeglądarka mogła zweryfikować jej źródło i zawartość. Rozwiązanie to stosowane jest m.in. w technologii AMP i przy prefetchingu treści przez Google.
Błąd ERRINVALIDSIGNED_EXCHANGE wskazuje, że:
- Plik wymiany (exchange) jest niepoprawnie podpisany,
- Podpis jest niezgodny z zawartością,
- Certyfikat SSL jest nieważny lub niespełniający wymogów SXG,
- Nagłówki w odpowiedzi są błędne,
- Czas ważności podpisu SXG już minął lub jeszcze nie nastał,
- Pośrednie proxy lub CDN wprowadziło zmiany powodujące naruszenie integralności pliku.
Typowe przyczyny błędu
- Nieprawidłowy lub wygasły certyfikat SSL użyty do podpisania SXG.
- Zmiana zawartości wymiany po podpisaniu.
- Nieprawidłowa konfiguracja serwera (np. brak wymaganych nagłówków).
- Problem ze zgodnością SXG po stronie CDN.
- Błędy w infrastrukturze Google lub innej usługi agregującej treść, np. AMP.
Instrukcje dla webmastera/web dewelopera
1. Sprawdź ważność i poprawność certyfikatu
- Certyfikat musi być zgodny z wymaganiami SXG (certyfikat typu CanSignHttpExchanges).
- Upewnij się, że certyfikat nie wygasł i jest poprawnie zainstalowany.
2. Zweryfikuj proces generowania SXG
- SXG powinien być generowany automatycznie przy każdej zmianie treści.
- Upewnij się, że pliki SXG nie są cache’owane zbyt długo (mogą stracić ważność sygnatury).
3. Sprawdź konfigurację serwera
- Odpowiedź SXG musi zawierać odpowiednie nagłówki HTTP, m.in.
Content-Type: application/signed-exchange;v=b3oraz nagłówekX-Content-Type-Options: nosniff. - Serwer nie może modyfikować treści po jej podpisaniu.
4. Weryfikacja poprawności podpisu SXG
- Użyj narzędzi deweloperskich Chrome (
chrome://net-internals/) lub skryptów, np. amppackager, do analizy struktury SXG i poprawności nagłówków.
5. Zweryfikuj integrację z CDN i Google Search
- Niektóre CDN mogą modyfikować treść lub nagłówki – wyłącz lub dostosuj optymalizacje, które mogą wpływać na integralność pliku.
- Sprawdź w Search Console lub narzędziach raportowania Google, czy nie pojawiają się komunikaty o problemach z SXG.
Instrukcje dla użytkownika końcowego
Jeśli napotkałeś błąd ERRINVALIDSIGNED_EXCHANGE –
- Odśwież stronę – czasem to przejściowy problem z cache.
- Wypróbuj inną przeglądarkę lub zaktualizuj aktualną (w szczególności Chrome).
- Wyczyść pamięć podręczną przeglądarki.
- Odłącz VPN lub proxy – pośrednie serwery mogą powodować błędy integralności.
- Poczekaj lub skontaktuj się z właścicielem strony – problem leży po stronie serwera lub pośredników (np. Google).
Dodatkowe informacje i narzędzia
- Problem ERRINVALIDSIGNED_EXCHANGE wynika z zaawansowanych mechanizmów bezpieczeństwa i autentyczności weba, dlatego wykracza poza typowe błędy HTTP, jak 404 czy 500.
- Aktualności, dyskusje i raporty nt. tego błędu dostępne są również w oficjalnym forum wsparcia Google Chrome.
Podsumowanie dla specjalistów:
- Skup się na weryfikacji certyfikatu, cyklu generowania SXG oraz integralności na wszystkich etapach dystrybucji treści.
- Regularnie testuj SXG i sprawdzaj logi serwera/API Google.
- Dokumentacja: SXG specification i wsparcie Google, narzędzia diagnostyczne: amppackager, Chrome DevTools, net-internals.

