Wie kann ich Verbindungsfehler von WebSocket-API von API Gateway beheben?

Lesedauer: 3 Minute
0

Ich habe versucht, eine Verbindung zu meiner WebSocket-API von Amazon API Gateway herzustellen, aber ich habe Fehler erhalten. Wie behebe ich Probleme mit meiner WebSocket-API-Verbindung?

Kurzbeschreibung

Verbindungsfehler bei WebSocket-API von API Gateway können aufgrund folgender Ursachen auftreten:

  • Unzureichende Berechtigungen, um die Anfrage an das Backend zu stellen
  • Falsche Felder für die API-ID, AWS-Region und API-Phase
  • Fehler bei der Backend-Integration
  • Authentifizierungsfehler bei AWS Identity and Access Management (IAM)

Lösung

Folgen Sie diesen Schritten zur Fehlerbehebung für Ihren Fall.

Stellen Sie sicher, dass die WebSocket-API über die erforderlichen Berechtigungen verfügt, um eine Anfrage an das Backend zu stellen

API Gateway verwendet IAM-Rollen, Richtlinien, Tags und AWS-Lambda-Autorisierer, um den Zugriff auf eine WebSocket-API zu steuern. Weitere Informationen finden Sie unter Steuern und Verwalten des Zugriffs auf eine WebSocket-API in API Gateway.

Stellen Sie außerdem sicher, dass die WebSocket-API-Integrationsanfrage korrekt konfiguriert ist.

Vergewissern Sie sich, dass die Anfrage an die richtige API-ID, AWS-Region und API-Stufe gesendet wurde

Stellen Sie in diesem Beispiel für eine Anforderungs-URL sicher, dass die folgenden Felder korrekt sind:

wss://a1b2c3d4e5.execute-api.us-east-1.amazonaws.com/production
  • Die WebSocket-API-ID „a1b2c3d4e5“.
  • Die AWS-Region „us-east-1“.
  • Der API-Phasenname „production“ ist vorhanden.

Überprüfen Sie die CloudWatch-Protokolle auf Fehler

Folgen Sie den Anweisungen, um Amazon CloudWatch Logs zur Fehlerbehebung bei WebSocket-APIs von API Gateway zu aktivieren. Wenn eine Lambda-Funktion für das Backend integriert ist, überprüfen Sie die CloudWatch-Protokolle auf Fehler. Weitere Informationen finden Sie unter Auf CloudWatch-Protokolle für AWS Lambda zugreifen.

Bestätigen Sie, dass die API-Anfrage signiert ist, wenn für die API-Methode die IAM-Authentifizierung aktiviert ist

Wenn die IAM-Authentifizierung aktiviert ist, stellen Sie sicher, dass die API-Anfrage mit Signature Version 4 (SigV4) signiert ist. Weitere Informationen finden Sie unter Signieren von AWS-Anforderungen mit Signature Version 4.

Gehen Sie wie folgt vor, um die IAM-Authentifizierung für Ihre API-Gateway-API zu aktivieren:

  1. Wählen Sie in der API-Gateway-Konsole den Namen Ihrer API aus.
  2. Wählen Sie im Bereich Ressourcen eine Methode (z. B. GET oder POST) aus, für die Sie die IAM-Authentifizierung aktivieren möchten.
  3. Wählen Sie im Bereich Methodenausführung die Option Methodenanforderung aus.
  4. Wählen Sie unter Einstellungen für Autorisierung das Stiftsymbol (Bearbeiten). Wählen Sie AWS_IAM aus der Dropdown-Liste, und wählen Sie dann das Häkchen-Symbol (Aktualisieren).
  5. (Optional) Wiederholen Sie die Schritte 2–4 für jede API-Methode, für die Sie die IAM-Authentifizierung aktivieren möchten.
  6. Stellen Sie Ihre WebSocket-API bereit, damit die Änderungen wirksam werden.

Ähnliche Informationen

Überwachung der WebSocket-API-Ausführung mit CloudWatch-Metriken

API-Gateway-Lambda-Autorisierer verwenden

Wie behebe ich HTTP 403 Verboten-Fehler bei der Verwendung eines Lambda-Autorisierers mit einem API-Gateway-REST-API?

Wie behebe ich Probleme beim Herstellen einer Verbindung zu einem privaten API-Endpunkt von API Gateway?

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr

Relevanter Inhalt