Cookies werden nicht subdomain-übergreifend geteilt (FastAPI + Nginx)

Problem: FastAPI-Set-Cookie wird nicht subdomain-übergreifend gespeichert Ich habe eine FastAPI-App hinter einem Nginx-Reverse-Proxy, die über diese Domains erreichbar ist: - https://(meine_domain).me - https://dashboard.(meine_domain).me Ein Login auf dashboard.(meine_domain).me soll einen Cookie setzen, der auch auf (meine_domain).me und anderen Subdomains verfügbar ist. --- Aktueller Cookie-Code in FastAPI:
response.set_cookie(
key="session_id",
value=session_id,
domain=".(meine_domain).me",
path="/",
secure=True,
httponly=True,
samesite="Lax"
)
response.set_cookie(
key="session_id",
value=session_id,
domain=".(meine_domain).me",
path="/",
secure=True,
httponly=True,
samesite="Lax"
)
--- Nginx Proxy (Ausschnitt):
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
--- Problem:
- Cookie wird nur auf (meine_domain).me gesetzt
- Er taucht nicht auf dashboard.(meine_domain).me in den Browser-Cookies auf
- domain=".(meine_domain).me" ist gesetzt
- HTTPS ist überall aktiv
- proxy_set_header Host $host; ist drin
- samesite="Lax" wurde auch testweise durch "None" ersetzt (mit secure=True) --- Was ich will:
- Wenn ein User sich auf dashboard.(meine_domain).me einloggt, soll der session_id-Cookie für alle Subdomains inkl. (meine_domain).me gelten --- Frage:
Was fehlt mir in der Server- oder App-Konfiguration, damit der Cookie zuverlässig auf allen Subdomains inkl. (meine_domain).me gespeichert und gesendet wird? Danke 🙏
1 Reply
Bl4cklist🔥System
:hack: - Danke für deine Frage! › Unsere Community freut sich schon, dir bei deinem Problem weiterzuhelfen! Sei so lieb und unterstütze die Personen welche dir weitergeholfen in dem du die Antwort welche das Problem lösen konnte akzeptierst. - :accept: = Akzeptiert die Antwort und markiert dein Problem als gelöst. Alternativ kannst du auch /solved verwenden, falls du es selbst herausgefunden hast. Pushe deinen Post für mehr Aufmerksamkeit mit /push. ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ › - Problem selbst gelöst: Der Ersteller dieser Frage hat das Problem selbst gelöst.

Did you find this page helpful?