Ich habe die Anweisungen befolgt, um einen benutzerdefinierten Domain-Namen für meine Amazon API Gateway-REST- oder HTTP-API einzurichten. Ich erhalte die Fehlermeldung 403 „Missing Authentication token“, wenn ich die API aufrufe.
Kurzbeschreibung
API Gateway-APIs mit benutzerdefinierten Domain-Namen geben beim Aufrufen der API den Fehler 403 „Missing Authentication token“ zurück, wenn der URL-Pfad falsch ist.
Hinweis: Wenn du die API Gateway-API-Stufen-URL verwendest, wird der 403-Fehler „Missing Authentication token“ nicht zurückgegeben.
Lösung
Benutzerdefinierte Domain-Namen, die für API Gateway-APIs konfiguriert sind, verwenden API-Zuordnungen, um API-Stufen zu verbinden und Datenverkehr über den benutzerdefinierten Domain-Namen an APIs zu senden. API-Zuordnungen haben eine API, eine Stufe, einen benutzerdefinierten Domain-Namen und optional einen Pfad, der für das Zuordnen verwendet werden soll. Weitere Informationen findest du unter Arbeiten mit API-Zuordnungen.
Im folgenden Beispiel ist die API-Zuordnung der benutzerdefinierten Domain „https://api.example.com“ wie folgt konfiguriert:
| | | | | |
|---|
| API | Beispiel | Stufe | Pfad | Standard-URL | Benutzerdefinierte Domain-URL |
| abcd3456ef | API 1 | dev | (keine) | https://abcd3456ef.execute-api.us-east-1.amazonaws.com/dev | https://api.example.com |
| wxyz1234ab | API 2 | test | orders | https://wxyz1234ab.execute-api.us-east-1.amazonaws.com/test | https://api.example.com/orders |
| mnop5678qr | API 3 | prod | customers | https://mnop5678qr.execute-api.us-east-1.amazonaws.com/prod | https://api.example.com/customers |
In dieser Beispielkonfiguration leitet eine Anforderung an API 1 über die URL https://abcd3456ef.execute-api.us-east-1.amazonaws.com/dev/resourceA den Datenverkehr erfolgreich an „resourceA“ weiter. Dies liegt daran, dass die Anforderung für den Stufennamen „dev“ an die Ressource gestellt wird. Dieselbe Anforderung mit der URL https://api.example.com/dev/resourceA gibt jedoch den Fehler 403 „Missing Authentication token“ zurück. Dieser Fehler tritt auf, weil die Stufe „dev“ dem (keinem) Pfad des benutzerdefinierten Domain-Namens zugeordnet ist. Um Anforderungen mithilfe des benutzerdefinierten Domain-Namens an „resourceA“ weiterzuleiten, stelle sicher, dass die URL https://api.example.com/resourceA lautet.
Ebenso lautet die URL des benutzerdefinierten Domain-Namens, die https://wxyz1234ab.execute-api.us-east-1.amazonaws.com/test/resourceB entspricht, https://api.example.com/orders/resourceB. Dies liegt daran, dass die „test“ -Stufe von API 2 dem Pfad „orders“ in der benutzerdefinierten Domain-API-Zuordnung zugeordnet ist.
Ähnliche Informationen
Wie behebe ich HTTP 403-Fehler aus API Gateway?
Wie behebe ich beim API Gateway REST-API-Endpunkt Fehler 403 „Missing Authentication Token“?
Einen regionalen benutzerdefinierten Domain-Namen in API Gateway einrichten