126 126
127Siehe [wo jeder Mechanismus die Richtlinie speichert](/docs/de/managed-settings#where-each-mechanism-stores-the-policy) für die Dateipfade und [Client-seitige verwaltete Einstellungen](/docs/de/claude-apps-gateway-config#client-side-managed-settings) für das Claude-Desktop-`bootstrapUrl`-Äquivalent.127Siehe [wo jeder Mechanismus die Richtlinie speichert](/docs/de/managed-settings#where-each-mechanism-stores-the-policy) für die Dateipfade und [Client-seitige verwaltete Einstellungen](/docs/de/claude-apps-gateway-config#client-side-managed-settings) für das Claude-Desktop-`bootstrapUrl`-Äquivalent.
128 128
129<h3 id="large-rollouts">
130 Große Rollouts
131</h3>
132
133Die Anmeldung ist pro Client-IP-Adresse ratenbegrenzt, und die Standards eignen sich für ein kleines Team. Jede Adresse erhält 30 Anmeldestarts und 10 Code-Einreichungen alle 10 Minuten. Ein Rollout für Tausende von Entwicklern kann diese Limits am ersten Morgen aus einem von zwei Gründen erreichen:
134
135* **Das Gateway kann nicht über Ihren Load Balancer hinaussehen.** Ohne [`listen.trusted_proxies`](/docs/de/claude-apps-gateway-config#listen) scheint jeder Entwickler von der Adresse des Load Balancers zu kommen und teilt sich ein Limit. Setzen Sie es vor allem anderen. Das Gateway protokolliert eine Warnung, wenn es zum ersten Mal einen `X-Forwarded-For`-Header ignoriert.
136* **Viele Entwickler teilen sich wenige NAT- oder VPN-Egress-Adressen.** Sie teilen sich die Limits dieser Adressen, auch wenn `trusted_proxies` richtig ist. Erhöhen Sie [`rate_limits`](/docs/de/claude-apps-gateway-config#http-tuning), um zu passen.
137
138Um `max` zu dimensionieren, teilen Sie die Entwickler durch die Egress-Adressen, die sie teilen. Schätzen Sie, wie viele dieser sich innerhalb einer `window_seconds`-Periode anmelden, die standardmäßig 10 Minuten beträgt. Verdoppeln Sie es dann, um Wiederholungen und Entwickler abzudecken, die sich sowohl bei Claude Code als auch bei Claude Desktop anmelden.
139
140Zum Beispiel melden sich 10.000 Entwickler hinter 4 Egress-Adressen gleichmäßig über eine Stunde an. Das sind 2.500 Entwickler pro Adresse und etwa 420 von ihnen in jeweils 10 Minuten, die Sie verdoppeln und auf 1.000 aufrunden. Das Beispiel unten setzt beide Limits auf 1.000:
141
142```yaml theme={null}
143rate_limits:
144 device_authorization: { max: 1000, window_seconds: 600 }
145 device_verify: { max: 1000, window_seconds: 600 }
146```
147
148`device_verify` ist das, was jemanden daran abhält, den Anmeldecode eines anderen Entwicklers zu erraten, daher erhöhen Sie ihn nur so weit, wie Ihre Schätzung es braucht. Selbst bei diesen Limits ist ein Code 8 Zeichen aus einem 20-Zeichen-Alphabet und läuft nach 10 Minuten ab, daher bleibt das Erraten unpraktisch; siehe [Benutzercode-Brute-Force-Widerstand](#user-code-brute-force-resistance).
149
150Wenn Ihr IdP Refresh-Token ausstellt, erneuert Claude Code Sitzungen stillschweigend, daher können Sie das Limit nach dem Rollout zurücksetzen. Ohne Refresh-Token melden sich Entwickler alle [`session.ttl_hours`](/docs/de/claude-apps-gateway-config#session) erneut an. Dimensionieren Sie beide Limits auch für diese stetige Rate und lassen Sie sie erhöht.
151
152Wenn ein Limit erreicht wird, zeigt Claude Code v2.1.274 oder später `The gateway is limiting sign-in attempts right now`. Ein Gateway auf v2.1.274 oder später zeigt `Too many attempts came from your network address` auf der Verifizierungsseite mit den zu überprüfenden Einstellungen. Es schreibt auch eine `sign-in refused`-Protokollzeile, die die zu ändernde Einstellung benennt.
153
129<h2 id="operations">154<h2 id="operations">
130 Betrieb155 Betrieb
131</h2>156</h2>
160 185
161Das OAuth-Discovery-Dokument unter `/.well-known/oauth-authorization-server` gibt auch `200` nur zurück, nachdem Konfigurationslast, OIDC-Erkennung, Upstream-Client-Konstruktion und Postgres-Migration alle erfolgreich sind, daher dient es auch als End-to-End-Boot-Prüfung.186Das OAuth-Discovery-Dokument unter `/.well-known/oauth-authorization-server` gibt auch `200` nur zurück, nachdem Konfigurationslast, OIDC-Erkennung, Upstream-Client-Konstruktion und Postgres-Migration alle erfolgreich sind, daher dient es auch als End-to-End-Boot-Prüfung.
162 187
188<h3 id="concurrent-upstream-requests">
189 Gleichzeitige Upstream-Anfragen
190</h3>
191
192Standardmäßig sendet jede Gateway-Replikation höchstens 256 Anfragen gleichzeitig Upstream. Eine Streaming-Antwort zählt gegen das Limit, bis der Stream endet.
193
194Eine Anfrage, die ankommt, während eine Replikation das Limit erreicht hat, wartet innerhalb des Gateways auf einen freien Slot. Der Entwickler sieht eine Antwort, die langsam zu starten ist oder zu hängen scheint. Bei einem `provider: anthropic` Upstream gibt eine Anfrage, die länger als [`timeouts.upstream_ttfb_ms`](/docs/de/claude-apps-gateway-config#http-tuning) wartet, diesen Upstream auf und schlägt mit einem 502 fehl, wenn kein späterer Upstream es bedient.
195
196Die Startup-Protokollzeile, die `upstream requests:` enthält, zeigt das geltende Limit. Während eine Replikation mehr Anfragen offen hat als das Limit, protokolliert sie auch eine Warnung, die `client requests are open` enthält, höchstens einmal pro Minute.
197
198Um mehr Anfragen gleichzeitig zu bedienen, haben Sie zwei Optionen:
199
200* Fügen Sie Replikationen hinzu.
201* Erhöhen Sie das Limit auf jeder Replikation. Setzen Sie die Umgebungsvariable `BUN_CONFIG_MAX_HTTP_REQUESTS` auf dem Gateway-Container auf eine ganze Zahl von 1 bis 65535, dann starten Sie den Container neu.
202
203Eine Replikation füllt ihr Limit bei einer Anfragerate von etwa dem Limit geteilt durch die durchschnittliche Anzahl von Sekunden, die eine Anfrage offen bleibt. Wenn Anfragen beispielsweise durchschnittlich 10 Sekunden offen bleiben, füllt eine Replikation mit dem Standardlimit von 256 es bei etwa 26 Anfragen pro Sekunde.
204
205Wenn Sie auf CPU autoskalieren, wartet eine Replikation am Limit Anfragen in die Warteschlange, ohne einen Scale-Out auszulösen, daher setzen Sie das Ziel unter die CPU-Ebene, die Ihre Replikationen zeigen, wenn sie die Warnung `client requests are open` protokollieren.
206
207<Warning>
208 Jede offene Anfrage hält Speicher im Gateway-Prozess, während sie streamt und während sie auf einen Slot wartet. Wenn Sie das Limit bei 256 halten, wächst der Speicher auf einer überladenen Replikation immer noch, da wartende Anfragen ihre Anfragekörper behalten. Dimensionieren Sie den Speicher des Containers für die Anzahl der Anfragen, die zur Spitzenzeit offen sind, und beobachten Sie den Speicher, wenn Sie das Limit ändern. Eine Replikation, der der Speicher ausgeht, wird beendet und lässt jeden Stream fallen, den sie hält.
209</Warning>
210
163<h3 id="outage-behavior">211<h3 id="outage-behavior">
164 Ausfallverhalten212 Ausfallverhalten
165</h3>213</h3>
209 257
210Replikationen sind zustandslos, daher ist ein Rolling Restart jederzeit sicher. Das Gateway führt Schema-Migrationen beim Start aus, was bedeutet, dass die Bereitstellung der neuen Binärdatei die Datenbank selbst migriert. Gleichzeitige Replikationen serialisieren auf einem Postgres-Advisory-Lock, daher wendet nur eine jede Migration an.258Replikationen sind zustandslos, daher ist ein Rolling Restart jederzeit sicher. Das Gateway führt Schema-Migrationen beim Start aus, was bedeutet, dass die Bereitstellung der neuen Binärdatei die Datenbank selbst migriert. Gleichzeitige Replikationen serialisieren auf einem Postgres-Advisory-Lock, daher wendet nur eine jede Migration an.
211 259
260Wenn Ihr Orchestrator eine Replikation mit `SIGTERM` stoppt, wie bei einem Rolling Restart oder einer Scale-In, stoppt das Gateway das Akzeptieren neuer Verbindungen und lässt Anfragen und Streams, die bereits in Flug sind, beenden, bevor es beendet wird. Es wartet bis zu 25 Sekunden, genannt das Drain-Fenster, dann schließt es, was noch offen ist. Ein `SIGINT`, wie Ctrl+C in einem Terminal, startet denselben Drain, und ein zweites Signal während des Drain schließt die offenen Anfragen und beendet sofort. Draining erfordert Gateway v2.1.274 oder später.
261
262Lange Generationen können Minuten lang streamen. Auf Kubernetes und Amazon ECS erhöhen Sie beide dieser zusammen, um diesen Streams mehr Zeit zu geben:
263
264* **Das Drain-Fenster**: setzen Sie die Umgebungsvariable `CLAUDE_GATEWAY_DRAIN_TIMEOUT_MS` auf dem Gateway-Container auf eine positive ganze Zahl von Millisekunden, wie `120000`. Das Gateway ignoriert einen Wert in jeder anderen Form, wie `120s`, und behält den 25-Sekunden-Standard
265* **Die Grace Period Ihres Orchestrators**: `terminationGracePeriodSeconds` auf Kubernetes oder `stopTimeout` auf Amazon ECS
266
267Die Grace Period beträgt standardmäßig 30 Sekunden auf beiden Plattformen. Halten Sie sie mindestens 5 Sekunden länger als das Drain-Fenster, oder der Orchestrator beendet das Gateway, bevor das Drain beendet ist. Auf Kubernetes addieren Sie auch die Dauer eines `preStop`-Hooks, da die Grace Period zu zählen beginnt, bevor der Hook ausgeführt wird, statt wenn das Gateway `SIGTERM` empfängt.
268
269Ihre Plattform kann auch begrenzen, wie lange das Drain laufen kann:
270
271* **Amazon ECS on Fargate**: `stopTimeout` erlaubt höchstens 120 Sekunden
272* **Cloud Run**: stoppt eine Instanz 10 Sekunden nach `SIGTERM`, daher bekommen offene Streams dort höchstens 10 Sekunden, egal wie das Drain-Fenster ist
273
274Wenn das Drain-Fenster mit noch offenen Anfragen endet, protokolliert das Gateway eine Warnung, die `drain window over after` enthält, zählt die Anfragen, die es abschnitt, und nennt beide Einstellungen zum Erhöhen.
275
212Migrationen sind nur Anhänge, daher ist das Rollback zu einer früheren Binärdatei, die weniger Migrationen kennt, sicher; es ignoriert die zusätzlichen Zeilen. Rollback validiert auch die YAML erneut gegen das ältere Binärdatei-Schema, daher schlägt eine Konfiguration, die einen Schlüssel angenommen hat, der von der neueren Version eingeführt wurde, beim Boot auf der älteren fehl. Entfernen Sie den neuen Schlüssel vor dem Rollback.276Migrationen sind nur Anhänge, daher ist das Rollback zu einer früheren Binärdatei, die weniger Migrationen kennt, sicher; es ignoriert die zusätzlichen Zeilen. Rollback validiert auch die YAML erneut gegen das ältere Binärdatei-Schema, daher schlägt eine Konfiguration, die einen Schlüssel angenommen hat, der von der neueren Version eingeführt wurde, beim Boot auf der älteren fehl. Entfernen Sie den neuen Schlüssel vor dem Rollback.
213 277
214Da Sie die Gateway-Version in Ihrem eigenen Image pinnen, erreichen Fixes in neuen Claude Code-Releases, einschließlich Sicherheits-Fixes, Ihre Bereitstellung nur, wenn Sie den Pin aktualisieren und erneut bereitstellen. Beziehen Sie das Gateway in denselben Patching-Zyklus ein, den Sie für andere Dienste verwenden, die Produktionsanmeldedaten halten.278Da Sie die Gateway-Version in Ihrem eigenen Image pinnen, erreichen Fixes in neuen Claude Code-Releases, einschließlich Sicherheits-Fixes, Ihre Bereitstellung nur, wenn Sie den Pin aktualisieren und erneut bereitstellen. Beziehen Sie das Gateway in denselben Patching-Zyklus ein, den Sie für andere Dienste verwenden, die Produktionsanmeldedaten halten.
239 303
240* Entwickler halten kurzlebige JWTs statt roher Upstream-Schlüssel. Das CLI-zu-Gateway-Bein verwendet den RFC-8628-Device-Grant, und der Gateway-Autorisierungs-Code-Austausch mit dem IdP führt PKCE in der Standard-Konfiguration aus, daher ist ein abgefangener IdP-Autorisierungs-Code nutzlos.304* Entwickler halten kurzlebige JWTs statt roher Upstream-Schlüssel. Das CLI-zu-Gateway-Bein verwendet den RFC-8628-Device-Grant, und der Gateway-Autorisierungs-Code-Austausch mit dem IdP führt PKCE in der Standard-Konfiguration aus, daher ist ein abgefangener IdP-Autorisierungs-Code nutzlos.
241* Die Device-Verifikationsseite erzwingt Same-Origin-POST und ein Pro-IP-Rate-Limit pro RFC 8628 §5.1. Siehe [User-Code-Brute-Force-Resistenz](#user-code-brute-force-resistance).305* Die Device-Verifikationsseite erzwingt Same-Origin-POST und ein Pro-IP-Rate-Limit pro RFC 8628 §5.1. Siehe [User-Code-Brute-Force-Resistenz](#user-code-brute-force-resistance).
242306* Ausgehende Anfragen gehen durch einen Server-Side-Request-Forgery (SSRF)-Guard, der DNS auflöst, Link-Local- und Cloud-Metadata-Adressen plus Loopback standardmäßig blockiert und die Verbindung zur aufgelösten IP pinnt, daher können Operator-beeinflusste URLs wie der IdP und OTLP-Ziele nicht zu Cloud-Metadata-Endpoints umgeleitet werden. RFC-1918-Private-Bereiche sind absichtlich erlaubt, da IdPs und OTLP-Collector häufig auf privaten IPs leben. Setzen Sie `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1` in der Gateway-Umgebung nur, wenn etwas, das das Gateway erreichen muss, legitim auf Loopback lebt, wie ein lokaler Entwicklungs-IdP oder ein Sidecar-OTLP-Collector auf `localhost`. Die Variable lockert die Loopback-Blockade für jede Operator-konfigurierte URL und überspringt auch die Boot-Zeit-Warnung, die prüft, ob der Pod den Cloud-Metadata-Endpoint erreichen kann, daher bevorzugen Sie es, dem Collector seine eigene interne Adresse zu geben.* Die Anfragen des Gateways an Ihren IdP, Ihre OTLP-Collector und `provider: anthropic`-Upstreams gehen durch einen Server-Side-Request-Forgery (SSRF)-Guard, der DNS auflöst, Link-Local- und Cloud-Metadata-Adressen plus Loopback standardmäßig blockiert und die Verbindung zur aufgelösten IP pinnt, daher können Operator-beeinflusste URLs nicht zu Cloud-Metadata-Endpoints umgeleitet werden. RFC-1918-Private-Bereiche sind absichtlich erlaubt, da IdPs und OTLP-Collector häufig auf privaten IPs leben. Für die anderen Provider weigert sich das Gateway, eine `base_url` zu akzeptieren, die eine dieser Adressen oder einen Metadata-Hostnamen benennt, wenn es die Konfiguration lädt, und das SDK des Providers verbindet sich dann ohne die DNS-Prüfung.
307
308 Wenn Sie [Proxy-Only-Egress](/docs/de/claude-apps-gateway-config#proxy-only-egress) aktivieren, verschiebt sich diese Adressprüfung zu Ihrem Forward-Proxy: Das Gateway übergibt Hostnamen und die Allowlist des Proxys muss diese Ziele ablehnen.
309
310 Setzen Sie `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1` in der Gateway-Umgebung nur, wenn etwas, das das Gateway erreichen muss, legitim auf Loopback lebt, wie ein lokaler Entwicklungs-IdP oder ein Sidecar-OTLP-Collector auf `localhost`. Die Variable lockert die Loopback-Blockade für jede Operator-konfigurierte URL und überspringt auch die Boot-Zeit-Warnung, die prüft, ob der Pod den Cloud-Metadata-Endpoint erreichen kann, daher bevorzugen Sie es, dem Collector seine eigene interne Adresse zu geben.
243 311
244Wenn Sie Ihre eigenen Egress-Kontrollen hinzufügen, muss das Gateway den Metadata-Server erreichen, wenn es Instanz-Metadata-Anmeldedaten wie Workload-Identität verwendet.312Wenn Sie Ihre eigenen Egress-Kontrollen hinzufügen, muss das Gateway den Metadata-Server erreichen, wenn es Instanz-Metadata-Anmeldedaten wie Workload-Identität verwendet.
245 313
254 322
255Der `user_code`, den ein Entwickler auf der `/device`-Verifikationsseite eingibt, sind 8 Zeichen aus einem 20-Zeichen-Alphabet, was 20⁸ oder etwa 2,56×10¹⁰ Kombinationen ergibt, und er läuft nach 10 Minuten ab.323Der `user_code`, den ein Entwickler auf der `/device`-Verifikationsseite eingibt, sind 8 Zeichen aus einem 20-Zeichen-Alphabet, was 20⁸ oder etwa 2,56×10¹⁰ Kombinationen ergibt, und er läuft nach 10 Minuten ab.
256 324
257325Das Gateway wendet Pro-IP-Rate-Limits auf die Device-Grant-Endpoints an, konfigurierbar über [`rate_limits`](/docs/de/claude-apps-gateway-config#http-tuning). Erhöhen Sie die Limits, wenn sich viele Entwickler von einer einzelnen gemeinsamen Unternehmens-NAT-Adresse anmelden. Die Limits gelten nur für den Anmeldungs-Flow, nicht für Inferenz.Das Gateway wendet Pro-IP-Rate-Limits auf die Device-Grant-Endpoints an, konfigurierbar über [`rate_limits`](/docs/de/claude-apps-gateway-config#http-tuning). Erhöhen Sie die Limits, wenn sich viele Entwickler von einer einzelnen gemeinsamen Unternehmens-NAT-Adresse anmelden. [Große Rollouts](#large-rollouts) zeigt, wie Sie sie dimensionieren. Die Limits gelten nur für den Anmeldungs-Flow, nicht für Inferenz.
258 326
259<h3 id="compliance-posture">327<h3 id="compliance-posture">
260 Compliance-Haltung328 Compliance-Haltung
284Die Standardfehlerausgabe des Gateways enthält den Audit-Ereignisstrom, das Audit-Protokoll zeichnet Entwickleridentitäten auf, und die Debug-Datei zeichnet Hook- und MCP-Serverausgaben von der Maschine des Entwicklers auf. Überprüfen und redigieren Sie diese, bevor Sie sie in einem öffentlichen Problem posten.352Die Standardfehlerausgabe des Gateways enthält den Audit-Ereignisstrom, das Audit-Protokoll zeichnet Entwickleridentitäten auf, und die Debug-Datei zeichnet Hook- und MCP-Serverausgaben von der Maschine des Entwicklers auf. Überprüfen und redigieren Sie diese, bevor Sie sie in einem öffentlichen Problem posten.
285 353
286| Symptom | Ursache | Behebung |354| Symptom | Ursache | Behebung |
287355| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- || -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
288| Das `/login` eines Entwicklers zeigt den Standard-Account-Picker statt des **Cloud-Gateway**-Bildschirms | `forceLoginMethod` oder `forceLoginGatewayUrl` ist nicht in verwalteten Einstellungen auf dieser Maschine gesetzt | Stellen Sie die [verwaltete Einstellungsdatei](/docs/de/claude-apps-gateway#set-the-gateway-url) auf dem Gerät bereit; `/login` liest die Gateway-URL von dort |356| Das `/login` eines Entwicklers zeigt den Standard-Account-Picker statt des **Cloud-Gateway**-Bildschirms | `forceLoginMethod` oder `forceLoginGatewayUrl` ist nicht in verwalteten Einstellungen auf dieser Maschine gesetzt | Stellen Sie die [verwaltete Einstellungsdatei](/docs/de/claude-apps-gateway#set-the-gateway-url) auf dem Gerät bereit; `/login` liest die Gateway-URL von dort |
289| Die Anfragen eines Entwicklers schlagen mit `Not signed in to the Cloud gateway — run /login.` fehl | Die verwalteten Einstellungen der Maschine setzen `forceLoginMethod: "gateway"` oder `forceLoginGatewayUrl`, und die Sitzung hat keine Gateway-Anmeldung. Eine verbleibende claude.ai-Anmeldung erfüllt die Anforderung nicht. | Lassen Sie den Entwickler `/login` ausführen und die Gateway-Anmeldung abschließen. Siehe auch [Administrator-Richtlinie erfordert eine Cloud-Gateway-Anmeldung](/docs/de/errors#administrator-policy-requires-a-cloud-gateway-sign-in). |357| Die Anfragen eines Entwicklers schlagen mit `Not signed in to the Cloud gateway — run /login.` fehl | Die verwalteten Einstellungen der Maschine setzen `forceLoginMethod: "gateway"` oder `forceLoginGatewayUrl`, und die Sitzung hat keine Gateway-Anmeldung. Eine verbleibende claude.ai-Anmeldung erfüllt die Anforderung nicht. | Lassen Sie den Entwickler `/login` ausführen und die Gateway-Anmeldung abschließen. Siehe auch [Administrator-Richtlinie erfordert eine Cloud-Gateway-Anmeldung](/docs/de/errors#administrator-policy-requires-a-cloud-gateway-sign-in). |
290| Claude Desktop meldet, dass seine Bootstrap-Konfiguration nicht abgerufen werden konnte | `/user/bootstrap` gab 404 zurück: die Richtlinie, die dem Benutzer entspricht, trägt keinen `desktop`-Schlüssel, oder es wurde keine Richtlinie gefunden. Das Gateway-Audit-Protokoll zeichnet jede Ablehnung als `desktop_bootstrap.denied` mit dem Grund auf. | Fügen Sie einen `desktop`-Block zur Richtlinie hinzu, die dem Benutzer entspricht, oder zur `match: {}`-Basisebene; ein leeres `desktop: {}` reicht aus. Siehe [Claude-Desktop-Overlay](/docs/de/claude-apps-gateway-config#claude-desktop-overlay). |358| Claude Desktop meldet, dass seine Bootstrap-Konfiguration nicht abgerufen werden konnte | `/user/bootstrap` gab 404 zurück: die Richtlinie, die dem Benutzer entspricht, trägt keinen `desktop`-Schlüssel, oder es wurde keine Richtlinie gefunden. Das Gateway-Audit-Protokoll zeichnet jede Ablehnung als `desktop_bootstrap.denied` mit dem Grund auf. | Fügen Sie einen `desktop`-Block zur Richtlinie hinzu, die dem Benutzer entspricht, oder zur `match: {}`-Basisebene; ein leeres `desktop: {}` reicht aus. Siehe [Claude-Desktop-Overlay](/docs/de/claude-apps-gateway-config#claude-desktop-overlay). |
291| Startup zeigt `Gateway login is configured in managed settings, but this Claude Code build does not include Cloud gateway support.` | Der installierte Claude-Code-Build ist älter als die Gateway-Unterstützung | Lassen Sie den Entwickler Claude Code auf eine Version aktualisieren, die Cloud-Gateway-Unterstützung enthält |359| Startup zeigt `Gateway login is configured in managed settings, but this Claude Code build does not include Cloud gateway support.` | Der installierte Claude-Code-Build ist älter als die Gateway-Unterstützung | Lassen Sie den Entwickler Claude Code auf eine Version aktualisieren, die Cloud-Gateway-Unterstützung enthält |
292| Startup beendet mit `Administrator policy requires a Cloud gateway sign-in on this machine` | Die Umgebung des Entwicklers setzt `ANTHROPIC_API_KEY` oder `ANTHROPIC_AUTH_TOKEN`, ihre Einstellungen konfigurieren einen [`apiKeyHelper`](/docs/de/settings-reference#apikeyhelper), oder ein API-Schlüssel aus einer früheren Claude-Console-Anmeldung ist noch gespeichert | Lassen Sie den Entwickler jeden löschen, der zutrifft: die Variable aufheben, den `apiKeyHelper`-Eintrag entfernen, oder `claude auth logout` ausführen, um den gespeicherten Schlüssel zu entfernen. Dann lassen Sie ihn `claude` starten und sich mit `/login` anmelden. Siehe auch [Administrator-Richtlinie erfordert eine Cloud-Gateway-Anmeldung](/docs/de/errors#administrator-policy-requires-a-cloud-gateway-sign-in). |360| Startup beendet mit `Administrator policy requires a Cloud gateway sign-in on this machine` | Die Umgebung des Entwicklers setzt `ANTHROPIC_API_KEY` oder `ANTHROPIC_AUTH_TOKEN`, ihre Einstellungen konfigurieren einen [`apiKeyHelper`](/docs/de/settings-reference#apikeyhelper), oder ein API-Schlüssel aus einer früheren Claude-Console-Anmeldung ist noch gespeichert | Lassen Sie den Entwickler jeden löschen, der zutrifft: die Variable aufheben, den `apiKeyHelper`-Eintrag entfernen, oder `claude auth logout` ausführen, um den gespeicherten Schlüssel zu entfernen. Dann lassen Sie ihn `claude` starten und sich mit `/login` anmelden. Siehe auch [Administrator-Richtlinie erfordert eine Cloud-Gateway-Anmeldung](/docs/de/errors#administrator-policy-requires-a-cloud-gateway-sign-in). |
293| Startup oder `/login` meldet `Claude Code may not be enabled for your organization` nach einer 403 beim Laden der verwalteten Einstellungen | Das Gateway oder etwas davor hat die `/managed/settings`-Anfrage mit 403 beantwortet. Die Gateway-eigene Einstellungsroute antwortet niemals mit 403. Der Status stammt von den [`access_control`](/docs/de/claude-apps-gateway-config#http-tuning)-IP-Überprüfungen oder von einem Proxy oder WAF vor dem Gateway. Das Audit-Protokoll zeichnet eine IP-Überprüfungs-Ablehnung als `access.denied` mit dem Grund auf. Der Entwickler bleibt angemeldet. | Überprüfen Sie das Audit-Protokoll auf `access.denied` zum Zeitpunkt des Fehlers und beheben Sie die `access_control`-Listen oder das Front-End, dann lassen Sie den Entwickler `claude` erneut starten |361| Startup oder `/login` meldet `Claude Code may not be enabled for your organization` nach einer 403 beim Laden der verwalteten Einstellungen | Das Gateway oder etwas davor hat die `/managed/settings`-Anfrage mit 403 beantwortet. Die Gateway-eigene Einstellungsroute antwortet niemals mit 403. Der Status stammt von den [`access_control`](/docs/de/claude-apps-gateway-config#http-tuning)-IP-Überprüfungen oder von einem Proxy oder WAF vor dem Gateway. Das Audit-Protokoll zeichnet eine IP-Überprüfungs-Ablehnung als `access.denied` mit dem Grund auf. Der Entwickler bleibt angemeldet. | Überprüfen Sie das Audit-Protokoll auf `access.denied` zum Zeitpunkt des Fehlers und beheben Sie die `access_control`-Listen oder das Front-End, dann lassen Sie den Entwickler `claude` erneut starten |
362| CLI `/login`: `The gateway is limiting sign-in attempts right now`, oder `Request failed with status code 429` bei älteren Versionen. Die `/device`-Seite kann `Too many attempts` für Entwickler anzeigen, die es noch nicht versucht haben | Das Pro-IP-Anmeldungs-Ratenlimit wurde erreicht. Entweder deckt `listen.trusted_proxies` den Load-Balancer nicht ab, daher teilen alle Entwickler seine Adresse, oder viele Entwickler teilen eine NAT- oder VPN-Ausgangsadresse. Audit-Ereignisse mit `result: rate_limited` zeigen dieselbe eine oder wenige `client_ip`-Werte. | Setzen Sie `listen.trusted_proxies` zuerst auf die Quellbereiche des Load-Balancers, dann erhöhen Sie `rate_limits`, wenn Entwickler immer noch Adressen teilen. Siehe [Große Rollouts](#large-rollouts). |
294| CLI `/login`: `Gateway hosts must be on your organization's private network; <host> resolves to the public (or unrecognized) address <ip>` | Der Gateway-Hostname wird zu mindestens einer öffentlichen IP-Adresse aufgelöst. Claude Code überprüft jede aufgelöste Adresse und erfordert, dass jede privat ist. Eine häufige Ursache ist ein Dual-Stack-Name, bei dem eine Familie zu einer öffentlichen Adresse aufgelöst wird, einschließlich AWS-interner Dual-Stack-Load-Balancer, die öffentliche AAAA-Adressen zurückgeben. | Lassen Sie den Gateway-Namen nur zu privaten Adressen auf Entwicklermaschinen auflösen. Für einen Dual-Stack-Namen löschen Sie den öffentlichen Datensatz oder bedienen Sie einen separaten internen DNS-Namen. Siehe die [Private-Network-Voraussetzung](/docs/de/claude-apps-gateway#prerequisites). Wenn die Adresse öffentlicher Adressraum ist, den Ihre Organisation besitzt und intern nutzt, [deklarieren Sie diesen Block](/docs/de/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) stattdessen. |363| CLI `/login`: `Gateway hosts must be on your organization's private network; <host> resolves to the public (or unrecognized) address <ip>` | Der Gateway-Hostname wird zu mindestens einer öffentlichen IP-Adresse aufgelöst. Claude Code überprüft jede aufgelöste Adresse und erfordert, dass jede privat ist. Eine häufige Ursache ist ein Dual-Stack-Name, bei dem eine Familie zu einer öffentlichen Adresse aufgelöst wird, einschließlich AWS-interner Dual-Stack-Load-Balancer, die öffentliche AAAA-Adressen zurückgeben. | Lassen Sie den Gateway-Namen nur zu privaten Adressen auf Entwicklermaschinen auflösen. Für einen Dual-Stack-Namen löschen Sie den öffentlichen Datensatz oder bedienen Sie einen separaten internen DNS-Namen. Siehe die [Private-Network-Voraussetzung](/docs/de/claude-apps-gateway#prerequisites). Wenn die Adresse öffentlicher Adressraum ist, den Ihre Organisation besitzt und intern nutzt, [deklarieren Sie diesen Block](/docs/de/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) stattdessen. |
295| CLI `/login`: `Gateway login would go through proxy <proxy>, which is not on a private network` | Ein `HTTPS_PROXY` oder `HTTP_PROXY` gilt für den Gateway-Host und der Proxy-Hostname wird zu einer öffentlichen Adresse aufgelöst. Ein Proxy, dessen Host nur zu privaten Adressen aufgelöst wird, ist erlaubt und löst diesen Fehler nicht aus | Fügen Sie den Gateway-Host zu `NO_PROXY` auf der Entwicklermaschine hinzu, damit die Verbindung direkt ist, oder verwenden Sie einen Proxy, dessen Hostname zu privaten Adressen aufgelöst wird. Die Nachricht benennt den genauen `NO_PROXY`-Eintrag, der hinzugefügt werden soll |364| CLI `/login`: `Gateway login would go through proxy <proxy>, which is not on a private network` | Ein `HTTPS_PROXY` oder `HTTP_PROXY` gilt für den Gateway-Host und der Proxy-Hostname wird zu einer öffentlichen Adresse aufgelöst. Ein Proxy, dessen Host nur zu privaten Adressen aufgelöst wird, ist erlaubt und löst diesen Fehler nicht aus | Fügen Sie den Gateway-Host zu `NO_PROXY` auf der Entwicklermaschine hinzu, damit die Verbindung direkt ist, oder verwenden Sie einen Proxy, dessen Hostname zu privaten Adressen aufgelöst wird. Die Nachricht benennt den genauen `NO_PROXY`-Eintrag, der hinzugefügt werden soll |
296| CLI `/login`: `Claude Code only signs in to <host> from inside its declared network <block> (managed settings), and this machine is connecting from <ip>, outside it` | Das Gateway befindet sich auf einem Block, der in [`gatewayInternalNetworks`](/docs/de/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) deklariert ist, und die Maschine des Entwicklers hat es von einer Adresse außerhalb dieses Blocks erreicht: ein VPN-Adresspool, ein Container- oder WSL2-NAT-Segment, oder ein Netzwerk, das nicht Ihres ist | Lassen Sie den Entwickler `/login` vom Host-Betriebssystem in Ihrem Netzwerk ausführen. Wenn die angezeigte Adresse auch Ihr eigener öffentlicher Adressraum der Organisation ist, ersetzen Sie den Gateway-Eintrag durch einen Block, der beide abdeckt, bis zu `/8`; ein zweiter, überlappender Eintrag wird abgelehnt |365| CLI `/login`: `Claude Code only signs in to <host> from inside its declared network <block> (managed settings), and this machine is connecting from <ip>, outside it` | Das Gateway befindet sich auf einem Block, der in [`gatewayInternalNetworks`](/docs/de/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) deklariert ist, und die Maschine des Entwicklers hat es von einer Adresse außerhalb dieses Blocks erreicht: ein VPN-Adresspool, ein Container- oder WSL2-NAT-Segment, oder ein Netzwerk, das nicht Ihres ist | Lassen Sie den Entwickler `/login` vom Host-Betriebssystem in Ihrem Netzwerk ausführen. Wenn die angezeigte Adresse auch Ihr eigener öffentlicher Adressraum der Organisation ist, ersetzen Sie den Gateway-Eintrag durch einen Block, der beide abdeckt, bis zu `/8`; ein zweiter, überlappender Eintrag wird abgelehnt |
301| CLI `/login`: `Could not resolve gateway host <host>` | Die Maschine kann den internen DNS-Namen des Gateways nicht auflösen, typischerweise weil sie nicht im Unternehmens-Netzwerk ist | Lassen Sie den Entwickler sich mit Ihrem Netzwerk oder VPN verbinden und versuchen Sie dann `/login` erneut |370| CLI `/login`: `Could not resolve gateway host <host>` | Die Maschine kann den internen DNS-Namen des Gateways nicht auflösen, typischerweise weil sie nicht im Unternehmens-Netzwerk ist | Lassen Sie den Entwickler sich mit Ihrem Netzwerk oder VPN verbinden und versuchen Sie dann `/login` erneut |
302| Boot beendet mit einem Konfigurationsvalidierungsfehler, der `store.postgres_url` benennt | Kein Postgres konfiguriert; das Gateway erfordert Postgres | Setzen Sie `store.postgres_url`. Für lokale Entwicklung verwenden Sie einen Wegwerf-Container: `docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`. |371| Boot beendet mit einem Konfigurationsvalidierungsfehler, der `store.postgres_url` benennt | Kein Postgres konfiguriert; das Gateway erfordert Postgres | Setzen Sie `store.postgres_url`. Für lokale Entwicklung verwenden Sie einen Wegwerf-Container: `docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`. |
303| Boot beendet: `requires the native binary` | Läuft unter Node statt der nativen Binärdatei | Installieren Sie Claude Code mit einer der [Standalone-Installationsmethoden](/docs/de/setup) |372| Boot beendet: `requires the native binary` | Läuft unter Node statt der nativen Binärdatei | Installieren Sie Claude Code mit einer der [Standalone-Installationsmethoden](/docs/de/setup) |
304373| Boot beendet mit einem OIDC-Discovery-Fehler nach `config.load` | `oidc.issuer` nicht erreichbar oder TLS-Kette nicht vertraut | Überprüfen Sie, dass der Aussteller vom Pod erreichbar ist und `/.well-known/openid-configuration` bedient. Setzen Sie `ca_cert_pem` für private PKI. Wenn der Pod den IdP nur über einen Forward-Proxy erreicht, setzen Sie [`oidc.use_proxy: true`](/docs/de/claude-apps-gateway-config#idp-requests-through-a-forward-proxy); bei Versionen vor v2.1.227 geben Sie dem Pod stattdessen eine direkte Route zu jedem der IdP-Endpunkte. || Boot beendet mit einem OIDC-Discovery-Fehler nach `config.load` | `oidc.issuer` nicht erreichbar oder TLS-Kette nicht vertraut | Überprüfen Sie, dass der Aussteller vom Pod erreichbar ist und `/.well-known/openid-configuration` bedient. Setzen Sie `ca_cert_pem` für private PKI. Wenn der Pod den IdP nur über einen Forward-Proxy erreicht, setzen Sie [`oidc.use_proxy: true`](/docs/de/claude-apps-gateway-config#idp-requests-through-a-forward-proxy); bei Versionen vor v2.1.227 geben Sie dem Pod stattdessen eine direkte Route zu jedem der IdP-Endpunkte. Wenn der Pod auch den Hostnamen des IdP nicht auflösen kann, oder der Proxy verweigert `CONNECT` zu einer IP-Adresse, siehe [Nur-Proxy-Ausgang](/docs/de/claude-apps-gateway-config#proxy-only-egress), das v2.1.277 oder später erfordert. |
305| Boot beendet mit einem Postgres-Berechtigungsfehler | Die Datenbankrolle fehlen DDL-Rechte auf ihrem Schema | Gewähren Sie der Rolle `CREATE` auf dem Gateway-Schema, damit sie seine Tabellen beim Boot erstellen und ändern kann |374| Boot beendet mit einem Postgres-Berechtigungsfehler | Die Datenbankrolle fehlen DDL-Rechte auf ihrem Schema | Gewähren Sie der Rolle `CREATE` auf dem Gateway-Schema, damit sie seine Tabellen beim Boot erstellen und ändern kann |
375| Protokoll: `could not connect to Postgres at boot, attempt 1 of 3` | Die Datenbank war nicht erreichbar, als das Gateway gestartet wurde, zum Beispiel auf einer kalten Instanz, deren Netzwerk noch aufgebaut wird | Wenn das Gateway dann das Booten beendet, ist keine Aktion erforderlich. Wenn die Datenbank nicht erreichbar ist, versucht das Gateway die Verbindung dreimal, zwei Sekunden auseinander, bevor es beendet wird. Wenn es mit `could not connect to Postgres` beendet wird, überprüfen Sie `store.postgres_url` und den Netzwerkpfad zur Datenbank. Wenn die Versuche Timeout statt Ablehnung sind, erhöhen Sie [`store.connect_timeout_seconds`](/docs/de/claude-apps-gateway-config#store), um jedem länger zu geben. |
306| `/oauth/callback` zeigt "Sign-in could not be completed" | E-Mail-Domain abgelehnt, id\_token-Validierung fehlgeschlagen, oder `email_verified` ist explizit `false`, was das Gateway immer ohne Überschreibung ablehnt | Überprüfen Sie `allowed_email_domains` und dass der IdP einen verifizierten `email`-Claim zurückgibt. Für `email_verified: false` beheben Sie die IdP-seitige Verifikation. Wenn Ihr IdP E-Mail unter einem anderen Claim-Namen ausgibt, setzen Sie `oidc.email_claim`. |376| `/oauth/callback` zeigt "Sign-in could not be completed" | E-Mail-Domain abgelehnt, id\_token-Validierung fehlgeschlagen, oder `email_verified` ist explizit `false`, was das Gateway immer ohne Überschreibung ablehnt | Überprüfen Sie `allowed_email_domains` und dass der IdP einen verifizierten `email`-Claim zurückgibt. Für `email_verified: false` beheben Sie die IdP-seitige Verifikation. Wenn Ihr IdP E-Mail unter einem anderen Claim-Namen ausgibt, setzen Sie `oidc.email_claim`. |
307| Protokoll: `token exchange failed request_id=<id>: id_token missing email claim` | Der IdP enthält `email` nicht standardmäßig im id\_token. Diese Ablehnung wird nur ausgelöst, wenn `allowed_email_domains` gesetzt ist; ohne sie prägt ein fehlende E-Mail eine Sitzung ohne E-Mail | Konfigurieren Sie den IdP, um `email` im id\_token auszugeben. Okta: Fügen Sie `email` zu den ID-Token-Claims eines benutzerdefinierten Autorisierungsservers hinzu. Entra: Fügen Sie `email` als optionalen Claim bei der App-Registrierung hinzu. PingFederate: Aktivieren Sie eine OpenID-Connect-Richtlinie, die `email` ausgibt. Wenn der IdP `email` vom Userinfo-Endpoint bedient, aber nicht im id\_token einbeziehen wird, wie der Okta-Org-Autorisierungsserver, setzen Sie `oidc.userinfo_fallback: true`. |377| Protokoll: `token exchange failed request_id=<id>: id_token missing email claim` | Der IdP enthält `email` nicht standardmäßig im id\_token. Diese Ablehnung wird nur ausgelöst, wenn `allowed_email_domains` gesetzt ist; ohne sie prägt ein fehlende E-Mail eine Sitzung ohne E-Mail | Konfigurieren Sie den IdP, um `email` im id\_token auszugeben. Okta: Fügen Sie `email` zu den ID-Token-Claims eines benutzerdefinierten Autorisierungsservers hinzu. Entra: Fügen Sie `email` als optionalen Claim bei der App-Registrierung hinzu. PingFederate: Aktivieren Sie eine OpenID-Connect-Richtlinie, die `email` ausgibt. Wenn der IdP `email` vom Userinfo-Endpoint bedient, aber nicht im id\_token einbeziehen wird, wie der Okta-Org-Autorisierungsserver, setzen Sie `oidc.userinfo_fallback: true`. |
308| Protokoll: `refresh failed request_id=<id>: invalid_token (…) (at userinfo_no_id_token, …)`, und Entwickler sehen `Cloud gateway session expired` alle `session.ttl_hours` | Der IdP akzeptierte den Refresh-Token, gab aber keinen id\_token damit zurück, daher fragte das Gateway den Userinfo-Endpoint des IdP nach den Claims des Benutzers. Der IdP lehnte den erneuerten Access-Token dort ab. Das Gateway antwortet `temporarily_unavailable`, daher behält Claude Code den Refresh-Token, kann aber die Sitzung nicht erneuern. Gateway-Versionen vor v2.1.260 protokollieren dieselbe Zeile ohne das `(at …)`-Detail. | Setzen Sie [`oidc.scope_on_refresh: true`](/docs/de/claude-apps-gateway-config#oidc), verfügbar in Gateway v2.1.260 oder später, damit die Refresh-Anfrage erneut nach `openid` fragt. Einige IdPs, wie Okta, geben einen id\_token bei Refresh nur zurück, wenn gefragt. Auf PingFederate aktivieren Sie stattdessen **Return ID Token On Refresh Grant** unter **Applications > OAuth > OpenID Connect Policy Management**. Der Schlüssel ändert das Verhalten von PingFederate nicht. Für andere IdPs, die ihn immer noch weglassen, überprüfen Sie, ob der Userinfo-Endpoint Access-Token akzeptiert, die von einem Refresh ausgestellt wurden. Als Übergangslösung erhöhen Sie [`session.ttl_hours`](/docs/de/claude-apps-gateway-config#session). Siehe [Identity-Provider-Setup](#identity-provider-setup) für den Deprovisioning-Tradeoff. |378| Protokoll: `refresh failed request_id=<id>: invalid_token (…) (at userinfo_no_id_token, …)`, und Entwickler sehen `Cloud gateway session expired` alle `session.ttl_hours` | Der IdP akzeptierte den Refresh-Token, gab aber keinen id\_token damit zurück, daher fragte das Gateway den Userinfo-Endpoint des IdP nach den Claims des Benutzers. Der IdP lehnte den erneuerten Access-Token dort ab. Das Gateway antwortet `temporarily_unavailable`, daher behält Claude Code den Refresh-Token, kann aber die Sitzung nicht erneuern. Gateway-Versionen vor v2.1.260 protokollieren dieselbe Zeile ohne das `(at …)`-Detail. | Setzen Sie [`oidc.scope_on_refresh: true`](/docs/de/claude-apps-gateway-config#oidc), verfügbar in Gateway v2.1.260 oder später, damit die Refresh-Anfrage erneut nach `openid` fragt. Einige IdPs, wie Okta, geben einen id\_token bei Refresh nur zurück, wenn gefragt. Auf PingFederate aktivieren Sie stattdessen **Return ID Token On Refresh Grant** unter **Applications > OAuth > OpenID Connect Policy Management**. Der Schlüssel ändert das Verhalten von PingFederate nicht. Für andere IdPs, die ihn immer noch weglassen, überprüfen Sie, ob der Userinfo-Endpoint Access-Token akzeptiert, die von einem Refresh ausgestellt wurden. Als Übergangslösung erhöhen Sie [`session.ttl_hours`](/docs/de/claude-apps-gateway-config#session). Siehe [Identity-Provider-Setup](#identity-provider-setup) für den Deprovisioning-Tradeoff. |
309| Jede Amazon-Bedrock-Anfrage gibt 502 zurück; Protokoll zeigt `Could not load credentials from any providers` | Auf EC2 blockiert IMDSv2s Standard-Hop-Limit von 1 die Instanz-Metadata-Anfrage von innerhalb des Containers. Boot und `/readyz` bestehen trotzdem, da das AWS SDK Instanz-Anmeldedaten bei der ersten Anfrage auflöst, nicht bei der Client-Konstruktion | Erhöhen Sie das Hop-Limit mit `aws ec2 modify-instance-metadata-options --instance-id <id> --http-put-response-hop-limit 2`, oder setzen Sie es in der Launch-Vorlage. Die Änderung gilt für jeden Container auf der Instanz. Bevorzugen Sie ECS-Task-Rollen, wo verfügbar, die Anmeldedaten vom ECS-Container-Credentials-Endpoint lesen und die Änderung ganz vermeiden, oder wenden Sie die Änderung auf einer dedizierten Gateway-Instanz an, um die Exposition zu begrenzen. |379| Jede Amazon-Bedrock-Anfrage gibt 502 zurück; Protokoll zeigt `Could not load credentials from any providers` | Auf EC2 blockiert IMDSv2s Standard-Hop-Limit von 1 die Instanz-Metadata-Anfrage von innerhalb des Containers. Boot und `/readyz` bestehen trotzdem, da das AWS SDK Instanz-Anmeldedaten bei der ersten Anfrage auflöst, nicht bei der Client-Konstruktion | Erhöhen Sie das Hop-Limit mit `aws ec2 modify-instance-metadata-options --instance-id <id> --http-put-response-hop-limit 2`, oder setzen Sie es in der Launch-Vorlage. Die Änderung gilt für jeden Container auf der Instanz. Bevorzugen Sie ECS-Task-Rollen, wo verfügbar, die Anmeldedaten vom ECS-Container-Credentials-Endpoint lesen und die Änderung ganz vermeiden, oder wenden Sie die Änderung auf einer dedizierten Gateway-Instanz an, um die Exposition zu begrenzen. |
380| Bei Spitzenlast sind Antworten langsam zu starten oder scheinen zu hängen, oder schlagen mit einem 502 `all upstreams failed` fehl, während der Upstream gesund ist | Ein Replikat hat mehr Anfragen offen als es gleichzeitig upstream sendet, daher warten die zusätzlichen Anfragen im Gateway. Bei einem `provider: anthropic`-Upstream gibt eine Anfrage, die länger als `timeouts.upstream_ttfb_ms` wartet, auf diesen Upstream auf, was den 502 erzeugt, wenn kein späterer Upstream sie bedient. Das Protokoll zeigt eine Warnung, die `client requests are open` enthält. | Fügen Sie Replikationen hinzu, oder erhöhen Sie das Limit auf jeder Replikation. Siehe [Gleichzeitige Upstream-Anfragen](#concurrent-upstream-requests). |
310| IdP-Fehler: unknown or unsupported scope | Der IdP lehnt Scopes ab, die er nicht erkennt | Setzen Sie `oidc.scopes` auf genau die Liste, die Ihr IdP akzeptiert; sie muss `openid` enthalten. Der Standard ist `openid profile email offline_access`. |381| IdP-Fehler: unknown or unsupported scope | Der IdP lehnt Scopes ab, die er nicht erkennt | Setzen Sie `oidc.scopes` auf genau die Liste, die Ihr IdP akzeptiert; sie muss `openid` enthalten. Der Standard ist `openid profile email offline_access`. |
311| Sitzungen erneuern sich nicht stillschweigend nach dem Setzen von `oidc.scopes` | `offline_access` wurde aus der Überschreibung gelöscht | Fügen Sie `offline_access` zurück, wenn Ihr IdP es unterstützt. Ohne einen Refresh-Token führen Entwickler die Browser-Anmeldung alle `session.ttl_hours` erneut aus. |382| Sitzungen erneuern sich nicht stillschweigend nach dem Setzen von `oidc.scopes` | `offline_access` wurde aus der Überschreibung gelöscht | Fügen Sie `offline_access` zurück, wenn Ihr IdP es unterstützt. Ohne einen Refresh-Token führen Entwickler die Browser-Anmeldung alle `session.ttl_hours` erneut aus. |
312| Browser zeigt "This request came from another site and was blocked" | Cross-Site-Form-POST, blockiert als CSRF-Schutz. Erwartet für eingebettete oder proxied Seiten | Öffnen Sie den Verifikations-Link direkt |383| Browser zeigt "This request came from another site and was blocked" | Cross-Site-Form-POST, blockiert als CSRF-Schutz. Erwartet für eingebettete oder proxied Seiten | Öffnen Sie den Verifikations-Link direkt |