Det säkra tillvägagångssättet är att behandla en lager-för-lager-jämförelse av direkta och proxade förfrågningar, svarscookies, webbläsarlagring och backend-sessionstillstånd som en serie observerbara kontrollpunkter, inte som ett enda kommando.
I en självvärd webbapplikation bakom en omvänd proxy är den praktiska risken att användare loggas ut, fastnar i en omdirigeringsslinga eller inte kan upprätta en session efter ändringar av proxyn eller cookies. Dokumentera den aktuella identiteten och återställningspunkten, börja med den minst ingripande särskiljande kontrollen, tolka godkända och underkända resultat innan du ändrar en annan variabel och stoppa när lagringstillståndet blir instabilt eller den enda återställningsbara kopian skulle exponeras. Arbetsflödet nedan avslutas först när den ursprungliga arbetsbelastningen fungerar eller bevisningen når en eskaleringsgräns.
Återskapa en sessionsväg och bevara bevis
Välj en användare, webbläsarprofil, värdnamn och inloggningsväg. Dokumentera den första misslyckade förfrågan, statussekvensen, omdirigeringsplatserna, svarens Set-Cookie-headers med värdena maskerade, förfrågningarnas cookies, proxyloggar, apploggar och den exakta konfigurationsändring som föregick felet.
Börja inte med att rensa alla cookies eller byta programmets hemlighet. Använd en privat webbläsarprofil som ren kontroll samtidigt som du bevarar den felande profilen för jämförelse. Bekräfta om direkt åtkomst till backend fungerar; det skiljer applikationsautentisering från URL- och cookie-beteende som beror på proxyn.
Stoppa om applikationen exponerar tokens i loggar, proxyn accepterar förfalskade vidarebefordringsheaders från otillförlitliga klienter eller inloggningen kringgår TLS. Skydda autentiseringsuppgifter och korrigera säkerhetsgränsen innan du fortsätter med den funktionella felsökningen.
Verifiera schema, värd och förtroende för vidarebefordran
Jämför den externa URL:en med vad applikationen tror: schema, värd, port, bassökväg och klientens IP-adress. Kontrollera Host, X-Forwarded-Proto eller standardiserade vidarebefordringsheaders samt applikationens lista över betrodda proxyservrar. En backend som tror att HTTPS-förfrågningar är HTTP kan vägra Secure-cookies eller skapa en oändlig omdirigering till HTTPS.
Använd en betrodd proxy för att ange eller ersätta vidarebefordringsheaders och konfigurera applikationen att endast lita på det proxysteget. Lägg inte blint till klientlevererade värden. Testa en inloggning och en absolut omdirigering efter varje ändring i stället för att ändra proxyheaders och applikationens bas-URL samtidigt.
ZimaSpaces guide om diagnostik av direkt och proxad inloggning använder samma jämförelse mellan direkt och proxad åtkomst efter en omstart av proxyn. Dess Immich-exempel är snävare, men bevisföringen kan överföras: bevisa att backend-sessionen fungerar och inspektera sedan vidarebefordringsheaders, routning och webbläsartillstånd.
Inspektera cookies omfattning och webbläsarens beslut
Kontrollera cookiens namn, Domain, Path, Secure, HttpOnly, SameSite, giltighetstid och om det finns dubbla cookies med samma namn på olika sökvägar eller domäner. Webbläsarens utvecklarverktyg visar om en cookie lagrades, avvisades eller utelämnades från nästa förfrågan; enbart serverloggar kan inte avslöja det beslutet.
OWASP:s beteende för SameSite-cookies förklarar hur SameSite-värden styr leverans av cookies över olika webbplatser. Om autentiseringen går över webbplatser eller använder ett inbäddat flöde kräver SameSite=None även Secure; för en enkel applikation på samma webbplats försvagar en onödig breddning av cookien designen.
Ta bort endast den berörda cookien i kontrollprofilen efter att ha dokumenterat den och upprepa sedan inloggningen. Om en ny cookie fungerar medan den bevarade profilen misslyckas, jämför omfattning och giltighetstid; om båda misslyckas, återgå till svarshuvuden eller backendens sessionslagring i stället för att upprepade gånger rensa tillståndet.
Kontrollera delat sessionstillstånd och validera lösningen
För applikationer med flera containrar eller repliker ska du bekräfta att varje instans använder samma sessionsigneringshemlighet och tidskälla samt samma delade sessionsbackend när det krävs. En proxy som växlar mellan instanser kan se ut som slumpmässiga utloggningar när en instans inte kan validera den andras cookie.
PortSwiggers diskussion om SameSites säkerhetsgräns fokuserar på säkerhet, men klargör att SameSite är en webbläsargräns och inte en allmän knapp för att reparera inloggning. Bevara CSRF-skyddet samtidigt som du anpassar det efter applikationens faktiska ursprung och omdirigeringsflöde.
Validera inloggning, utloggning, inaktivitetens giltighetstid, omstart av webbläsaren, lösenordsändring och åtkomst via de avsedda interna och externa värdnamnen. Avsluta ärendet först när gamla cookies misslyckas på ett säkert sätt, nya sessioner överlever normal routning och ingen vidarebefordran eller cookie-attribut har lättats mer än det dokumenterade behovet kräver.
Support och tips
Mer att läsa

Checklista för NFS-migrering av omdöpta dataset och stabila filhandtag
Utgå från att filhandtag kan ändras när lagringsidentiteten ändras. Pausa klienterna, växla avsiktligt över exporten, montera om och verifiera öppna och nya filer.

Felsökningsguide för SMB-klienter i Windows, macOS och Linux
Använd samma server, konto, delning och filåtgärd på varje klient så att fel i upptäckt, autentiseringsuppgifter, policy och lagring inte blandas ihop.

Checklista för rotation av hemligheter på hemmaservrar för appar, databaser och säkerhetskopior
Behandla rotation som en beroendemigrering: kartlägg alla konsumenter, överlappa autentiseringsuppgifter där det är möjligt, verifiera det nya värdet och återkalla sedan det gamla samt...

