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].hostresponseCaching.responseCache.servers[0].portresponseCaching.responseCache.isSslEnabledresponseCaching.responseCache.isSslVerifyDisabledresponseCaching.responseCache.authenticationSecretIdresponseCaching.responseCache.authenticationSecretVersionNumberresponseCaching.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> -showcertsaus, 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: