Antwortcache-TLS-Handshake nicht erfolgreich

Erfahren Sie, wie Sie Fehler beim TLS-Handshake im Antwortcache beheben, wenn Sie API-Deployments mit dem API-Gateway-Service erstellen.

Wenn das Antwort-Caching aktiviert ist und API Gateway Cachezustandsprobleme mit einem TLS-Handshake-Fehler meldet, kann API Gateway den Cacheverbindungspfad erreichen, das TLS-Handshake jedoch nicht mit dem Cachespeicher abschließen.

Problemsymptome

Möglicherweise sehen Sie eines oder mehrere der folgenden Symptome:

  • Das API-Deployment ist aktiv, aber Antworten werden nicht im Cache gespeichert.
  • Der Antwortcache wird als fehlerhaft gemeldet.
  • Ausführungsprotokolle umfassen einen SSL-Handshake-Timeout, einen TLS-Handshake-Fehler oder einen Cache-Verbindungsfehler.
  • Gecachte Antworten funktionieren nicht mehr, aber die API verarbeitet weiterhin Traffic.

Mögliche Gründe

Dieses Problem kann aus einem oder mehreren der folgenden Gründe auftreten:

  • Der Hostname oder Port des Cache-Endpunkts ist falsch.
  • Das API-Deployment ist für die Verwendung von TLS konfiguriert, der Cache-Listener ist jedoch nicht für TLS auf dem angegebenen Port konfiguriert oder enthält das erwartete Zertifikat nicht.
  • Der Cacheserver zeigt eine abgelaufene, unvollständige oder ungültige Zertifikatskette an.
  • Eine Firewall, ein Proxy, eine Routingregel, eine Netzwerksicherheitsgruppe (NSG) oder eine Sicherheitsliste blockiert oder unterbricht den TLS-Handshake.
  • Das Gateway-Subnetz kann den Cache-Endpunkt nicht zuverlässig erreichen.
  • Die Zugangsdaten für die Cacheauthentifizierung im referenzierten Secret fehlen, sind abgelaufen oder falsch.

Response-Cache-Konfiguration prüfen

Prüfen Sie die Antwortcachekonfiguration, und stellen Sie sicher, dass die folgenden Einstellungen mit dem Cacheendpunkt übereinstimmen, den Sie von API Gateway erwarten:

  • responseCaching.responseCache.servers[0].host
  • responseCaching.responseCache.servers[0].port
  • responseCaching.responseCache.isSslEnabled
  • responseCaching.responseCache.isSslVerifyDisabled
  • responseCaching.responseCache.authenticationSecretId
  • responseCaching.responseCache.authenticationSecretVersionNumber
  • responseCaching.responseCache.connectTimeoutInMs

Vergewissern Sie sich, dass die Konfiguration des Antwortcaches auf den beabsichtigten Cacheserver verweist. API Gateway unterstützt nur einen einzelnen Cacheserverhost für das Antwort-Caching.

Ausführungsprotokoll prüfen

Prüfen Sie das Ausführungsprotokoll auf Fehler bei Response-Cache-TLS-Handshake oder Cacheverbindungsfehler.

Cache-TLS-Endpunkt bestätigen

Stellen Sie sicher, dass der Cacheendpunkt bereit ist, die TLS-Verbindung vom Gateway zu akzeptieren:

  • Vergewissern Sie sich, dass der Cache Listener TLS auf dem konfigurierten Port erwartet.
  • Bestätigen Sie, dass das von den Cacheserverketten an eine Certificate Authority (CA) übergebene Zertifikat, dem API Gateway vertraut, wenn die Zertifikatsverifizierung aktiviert ist.
  • Vergewissern Sie sich, dass Benutzername und Kennwort des Cache im referenzierten Secret gültig sind.
  • Führen Sie von einer Compute-Instanz aus, die denselben Netzwerkpfad wie das Gateway-Subnetz verwendet, nc -vz <cache-host> <cache-port> aus, um die TCP-Erreichbarkeit zu bestätigen.
  • Führen Sie openssl s_client -connect <cache-host>:<cache-port> -servername <cache-host> -showcerts aus, um die Zertifikatskette und das TLS-Handshake-Ergebnis zu prüfen.

TLS-Probleme im Antwortcache beheben

Führen Sie die folgenden Aktionen aus, um den TLS-Handshake-Fehler zu beheben:

  • Wenn der Cacheendpunkt falsch ist, aktualisieren Sie den konfigurierten Cachehost oder -port.
  • Wenn der Cacheserver nicht auf TLS auf dem konfigurierten Port horcht, korrigieren Sie die Listener-Konfiguration, oder deaktivieren Sie TLS in der Gatewaykonfiguration, wenn der Klartextcacheverkehr für Ihre Umgebung akzeptabel ist.
  • Wenn die Zertifikatskette abgelaufen, unvollständig oder nicht vertrauenswürdig ist, aktualisieren Sie die Zertifikatskette oder die Vertrauenskonfiguration.
  • Wenn die Cachezugangsdaten falsch sind, aktualisieren Sie die referenzierte Secret-Version mit dem richtigen Benutzernamen und Kennwort.
  • Wenn der Netzwerkpfad blockiert ist, aktualisieren Sie die Routingregel, NSG-Regel, Sicherheitslistenregel, Firewall oder Proxykonfiguration, die den Traffic zwischen dem Gateway-Subnetz und dem Cacheendpunkt steuert.

Antwort-Caching überprüfen

Nachdem Sie die Konfiguration aktualisiert haben, prüfen Sie, ob das Antwort-Caching wie erwartet funktioniert:

  • Wiederholen Sie eine Anforderung, die Response-Caching verwenden soll.
  • Vergewissern Sie sich, dass der Cache-TLS-Handshake-Fehler nicht mehr im Ausführungslog angezeigt wird.
  • Stellen Sie sicher, dass das API-Gateway keine Response-Cache-Zustandsprobleme mehr für den Anforderungspfad meldet.

Weitere Informationen

Weitere Informationen finden Sie unter: