Wie deaktiviere ich den API-Gateway-Standard-Endpunkt für REST- oder HTTP-APIs?
Ich möchte Clients den Abruf meiner APIs nur mit dem benutzerdefinierten Domainnamen erlauben.
Kurzbeschreibung
Die REST-APIs und HTTP-APIs von Amazon API Gateway verwenden einen Standard-API-Endpunkt im folgenden Format: https://API_ID.execute-api.REGION.amazonaws.com. Wenn Sie einen benutzerdefinierten Domainnamen für die REST- oder HTTP-APIs in API-Gateway verwenden, können Sie den Standard-Endpunkt deaktivieren. Hierdurch kann der gesamte Datenverkehr über den benutzerdefinierten Domainnamen an die APIs weitergeleitet werden.
Behebung
Um den Standard-Endpunkt zu deaktivieren, verwenden Sie die API Gateway-Konsole, AWS Command Line Interface (AWS CLI) oder AWS CloudFormation. Nachdem Sie den Standard-Endpunkt deaktiviert haben, müssen Sie eine Bereitstellung initiieren, damit das Update wirksam wird.
Hinweis: Wenn Sie beim Ausführen von AWS-CLI-Befehlen Fehlermeldungen erhalten, stellen Sie sicher, dass Sie die neueste Version der AWS-CLI verwenden.
API Gateway-Konsole
REST-API
- Öffnen Sie die API Gateway-Konsole.
- Wählen Sie im Navigationsbereich APIs und dann die REST-API aus.
- Wählen Sie im Navigationsbereich Einstellungen aus.
- Wählen Sie für den Standard-Endpunkt die Option Deaktiviert und anschließend Änderungen speichern aus.
- Wählen Sie im Navigationsbereich Ressourcen, Aktionen und dann API bereitstellen aus.
HTTP-API
- Öffnen Sie die API Gateway-Konsole.
- Wählen Sie im Navigationsbereich APIs und dann die HTTP-API aus.
- Wählen Sie im Navigationsbereich API: API_NAME(API_ID) aus.
- Wählen Sie Bearbeiten aus.
- Wählen Sie für den Standard-Endpunkt die Option Deaktiviert und anschließend Speichern aus.
AWS CLI
REST-API
Führen Sie den AWS-CLI-Befehl update-rest-api aus:
aws apigateway update-rest-api --rest-api-id abcdef123 --patch-operations op=replace,path=/disableExecuteApiEndpoint,value='True'
Führen Sie den AWS-CLI-Befehl create-deployment aus, um die aktualisierte API bereitzustellen:
aws apigateway create-deployment --rest-api-id abcdef123 --stage-name dev
Hinweis: Ersetzen Sie api-id abcdef123 und stage_name dev durch die REST-API-ID und die entsprechende Phase.
HTTP-API
Führen Sie den AWS-CLI-Befehl update-api aus:
aws apigatewayv2 update-api --api-id abcdef123 --disable-execute-api-endpoint
Führen Sie den AWS-CLI-Befehl create-deployment aus, um die aktualisierte API bereitzustellen:
aws apigatewayv2 create-deployment --api-id abcdef123 --stage-name dev
Hinweis: Ersetzen Sie api_id abcdef123 und stage_name dev durch die HTTP-API-ID und die entsprechende Phase.
CloudFormation-Vorlage
Um den Standard-Endpunkt aus einer CloudFormation-Vorlage zu deaktivieren, setzen Sie den Parameter DisableExecuteApiEndpoint auf True. Aktualisieren Sie die CloudFormation-Vorlage für eine REST-API oder HTTP-API.
Wichtig: Wenn Sie die API mit der Standard-Endpunkt-URL aufrufen, führt das Deaktivieren des Standard-Endpunkts zu einem Fehler. Sie erhalten einen HTTP 403 Forbidden-Fehler für REST-APIs oder einen HTTP 404 Not Found-Fehler für HTTP-APIs.
Relevante Informationen
Relevanter Inhalt
- AWS OFFICIALAktualisiert vor 9 Monaten
- AWS OFFICIALAktualisiert vor einem Jahr
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor einem Jahr