IPv6 powoduje przerwanie wywołania zwrotnego, gdy dostawca wybiera ścieżkę AAAA, której Twój proxy, zapora, TLS lub aplikacja nie mogą obsłużyć.
W samodzielnie hostowanym stosie serwera domowego przeglądarka może ładować aplikację przez IPv4, podczas gdy dostawca OAuth, nadawca webhooka, sieć mobilna lub zewnętrzne API wybiera IPv6 dla żądania zwrotnego. Czysty test polega na porównaniu tej samej nazwy hosta wywołania zwrotnego przez rekordy A i AAAA, obserwowaniu logów reverse proxy i aplikacji oraz usunięciu lub naprawieniu tylko niepowodzącej rodziny adresów zamiast losowej zmiany adresów URL przekierowań.
Zapisz Dokładny URL Wywołania Zwrotnego i Etap Błędu
Skopiuj URL wywołania zwrotnego wygenerowany przez aplikację oraz URI przekierowania zarejestrowany u zewnętrznego dostawcy. Porównaj schemat, nazwę hosta, port, ścieżkę, ukośnik końcowy i wielkość liter przed testowaniem sieci.
Przewodnik debugowania wywołań zwrotnych podkreśla, że przekierowania OAuth wymagają dokładnego dopasowania URI przekierowania, nawet gdy usługa jest dostępna. IPv6 nie wyjaśnia niezgodności po stronie dostawcy, która występuje zanim jakiekolwiek żądanie dotrze do Twojego serwera domowego.
Zaklasyfikuj objaw: dostawca odrzuca URI, przeglądarka przekracza limit czasu, proxy zwraca 502, TLS nie działa lub aplikacja otrzymuje wywołanie zwrotne, ale generuje błędny następny URL. To określa, czy pierwszy test należy przeprowadzić w konfiguracji dostawcy, DNS, transporcie, proxy czy ustawieniach aplikacji.
Porównaj Odpowiedzi A i AAAA dla Nazwy Hostu Wywołania Zwrotnego
Zapytaj nazwę hosta wywołania zwrotnego u publicznego resolvera i zanotuj wszystkie adresy A i AAAA. Następnie porównaj te adresy z WAN IPv4, delegowanym prefiksem IPv6, punktem końcowym tunelu lub adresem reverse proxy, który faktycznie obsługuje aplikację.
Przypadek samodzielnie hostowanego OAuth opisuje niezgodność URI przekierowania i przekroczenie czasu jako odrębne błędy. Poprawny ciąg wywołania zwrotnego może nadal zawodzić, gdy DNS kieruje dostawcę na niedostępny adres.
Jeśli nazwa hosta ma rekord AAAA, który nie należy do aktywnej ścieżki proxy, usuń go tymczasowo i powtórz wywołanie zwrotne. Jeśli błąd zniknie, test wyizolował dostępność IPv6; nie pozostawiaj rekordu opublikowanego, dopóki pełna ścieżka IPv6 nie zostanie zweryfikowana.
Przetestuj Host Wywołania Zwrotnego Oddzielnie przez IPv4 i IPv6
Z zewnętrznego systemu dual-stack wymuś jedno żądanie przez IPv4, a drugie przez IPv6 do tej samej nazwy hosta i ścieżki wywołania zwrotnego. Zapisz rozdzielczość DNS, połączenie TCP, handshake TLS, status HTTP, nagłówki odpowiedzi i całkowity czas.
Wyjaśnienie Cloudflare dotyczące zachowania klienta dual-stack pokazuje, dlaczego usługa może wydawać się zdrowa dla jednej grupy klientów, podczas gdy inna trafia na inną rodzinę adresów lub ścieżkę translacji.
Jeśli IPv4 działa, a IPv6 przekracza limit czasu przed TLS, sprawdź ogłoszenia routera, delegowany prefiks, reguły zapory, powiązanie proxy i trasowanie zwrotne. Jeśli oba łączą się, ale tylko IPv6 generuje błędne przekierowanie aplikacji, przenieś diagnozę do nagłówków przekazywanych i generowania URL aplikacji.
Sprawdź, Czy Reverse Proxy Nasłuchuje i Kieruje na IPv6
Potwierdź, że publiczne proxy nasłuchuje na adresie IPv6 i porcie reklamowanym w DNS. Następnie zweryfikuj, czy odpowiadający wirtualny host, certyfikat, trasa i mapowanie backendu są identyczne jak działający nasłuchiwacz IPv4.
Publiczny przypadek wsparcia n8n pokazuje, jak samodzielnie hostowana aplikacja może generować nieużyteczne wywołanie zwrotne, gdy zewnętrzny adres wywołania zwrotnego nie odpowiada URL-owi i środowisku proxy, do którego faktycznie dociera dostawca.
Wyślij jedno wymuszone wywołanie zwrotne IPv6, obserwując logi dostępu i błędów proxy. Brak wpisu w logu oznacza, że żądanie zatrzymało się przed proxy; wpis dostępu z 404 lub błędnym hostem wskazuje na routing wirtualnego hosta; 502 lub timeout wskazuje na ścieżkę proxy do backendu.
Zweryfikuj Nagłówki Przekazywane i Ustawienia URL Aplikacji
Za reverse proxy aplikacja może potrzebować publicznego schematu, hosta i portu z zaufanych nagłówków przekazywanych lub jawnych zmiennych środowiskowych. Bez nich może generować wewnętrzną nazwę hosta, HTTP callback, prywatny adres IPv6 lub port kontenera.
Porównaj wyświetlany przez aplikację URL wywołania zwrotnego z nagłówkami żądania otrzymanymi przez proxy i backend. Nie zakładaj, że samo połączenie IPv6 zmienia hosta; prawdziwa różnica może polegać na tym, że wirtualny host IPv6 pomija te same reguły przekazywania, które są używane przez IPv4.
Wprowadzaj jedną poprawkę na raz: publiczny URL bazowy, zakres zaufanych proxy, przekazywany host, przekazywany protokół lub mapowanie nasłuchiwacza. Po każdej zmianie ponownie testuj przepływ u dostawcy i zachowuj dokładny URL wywołania zwrotnego zarejestrowany u dostawcy bez zmian, chyba że publiczny adres aplikacji faktycznie się zmieni.
Zachowaj lub Usuń IPv6 na Podstawie Kompleksowego Testu Zewnętrznego
IPv6 jest gotowe tylko wtedy, gdy nazwa hosta wywołania zwrotnego rozwiązuje się poprawnie, adres publiczny jest osiągalny, reverse proxy obsługuje właściwy certyfikat i host, backend otrzymuje żądanie, a aplikacja kończy przepływ pracy.
Wyjaśnienie ZimaSpace dotyczące bezpośredniej osiągalności serwera domowego przez IPv6 przedstawia szersze granice bezpieczeństwa: globalnie routowalny adres nie eliminuje potrzeby jawnej kontroli zapory i proxy.
Jeśli stos nie jest gotowy, usuń rekord AAAA nazwy hosta wywołania zwrotnego lub zakończ IPv6 na działającym tunelu lub proxy zamiast publikować uszkodzoną bezpośrednią ścieżkę. Włącz go ponownie dopiero po testach z zewnętrznej sieci IPv6, a nie tylko z tej samej sieci LAN.
Wsparcie i wskazówki
Więcej do przeczytania

How to Reduce Plex Database Contention on a Busy Docker Host
A Plex configuration guide for busy hosts that treats the database as local application state and reduces I/O contention without inventing a shared DB...

How to Prevent Duplicate Plex Scans and Imports
A prevention guide for duplicate Plex scans and imports that removes overlapping triggers instead of disabling library updates entirely.

How to Recover Plex After Its App-Data Volume Fills Up
A recovery ladder for full Plex app-data volumes that protects the database first and avoids deleting unknown files just to make the service start.

