Wie kann ich den Standard-Endpunkt des API-Gateway für REST- oder HTTP-APIs deaktivieren?

Lesedauer: 3 Minute
0

Ich möchte Kunden erlauben, meine APIs nur mit dem benutzerdefinierten Domainnamen aufzurufen. Wie kann ich die Standard-API-Executive-API-Endpunkt-URLfür Amazon-API-Gateway-REST- oder HTTP-APIs deaktivieren?

Kurzbeschreibung

API-Gateway-REST-APIs und HTTP-APIs verwenden einen Standard-API-Endpunkt im folgenden Format: „https://{api_id}.execute-api. {region}.amazonaws.com“. Wenn Sie einen benutzerdefinierten Domänennamen für Ihre API-Gateway-REST- oder HTTP-APIs verwenden, können Sie den Standard-Endpunkt deaktivieren. Dadurch kann der gesamte Datenverkehr über den benutzerdefinierten Domainnamen zu Ihren APIs geleitet werden.

Auflösung

Führen Sie die folgenden Schritte aus, um den Standard-Endpunkt mithilfe der API-Gateway-Konsole, der AWS Comman Line Interface (AWS CLI) oder AWS CloudFormation zu deaktivieren.

Hinweis:

API-Gateway-Konsole

REST-API

  1. Öffnen Sie die API-Gateway-Konsole.
  2. Wählen Sie im Navigationsbereich APIs und wählen Sie dann Ihre REST-API.
  3. Wählen Sie Einstellungen im Navigationsbereich aus.
  4. Wählen Sie für den Standard-Endpunkt Deaktiviert und dann Änderungen speichern aus.
  5. Wählen Sie im Navigationsbereich Ressourcen,Aktionen und dann API bereitstellen aus.

HTTP-API

  1. Öffnen Sie die API-Gateway-Konsole.
  2. Wählen Sie im Navigationsbereich APIs und wählen Sie dann Ihre HTTP-API.
  3. Wählen Sie Einstellungen im Navigationsbereich aus.
  4. Wählen Sie für den Standard-Endpunkt Deaktiviert und dann Änderungen speichern aus.
  5. Wählen Sie im Navigationsbereich Ressourcen,Aktionen und dann API bereitstellen aus.

AWS CLI

REST-API

Führen Sie den AWS-CLI-Befehl update-rest-api ähnlich dem folgenden aus:

aws apigateway update-rest-api --rest-api-id abcdef123 --patch-operations op=replace,path=/disableExecuteApiEndpoint,value='True'

Um die aktualisierte API bereitzustellen, führen Sie den AWS-CLI-Befehl create-deployment ähnlich dem folgenden aus:

aws apigateway create-deployment --rest-api-id abcdef123 --stage-name dev

Hinweis: Ersetzen Sie api_id abcdef123 und stage_name dev durch Ihre REST-API-ID und den entsprechenden Stagingbereich.

HTTP-API

Führen Sie den AWS-CLI-Befehl update-api ähnlich dem folgenden aus:

aws apigatewayv2 update-api --api-id abcdef123 --disable-execute-api-endpoint

Um die aktualisierte API bereitzustellen, führen Sie den AWS-CLI-Befehl create-deployment ähnlich dem folgenden aus:

aws apigatewayv2 create-deployment --api-id abcdef123 --stage-name dev

Hinweis: Ersetzen Sie api_id abcdef123 und stage_name dev durch Ihre HTTP-API-ID und den entsprechenden Stagingbereich.

CloudFormation-Vorlage

Um den Standard-Endpunkt aus einer CloudFormation-Vorlage zu deaktivieren, können Sie den Parameter DisableExecuteApiEndpoint auf True festlegen. Aktualisieren Sie die CloudFormation-Vorlage für REST-API oder HTTP-API.

Wichtig: Das Deaktivieren des Standard-Endpunkts führt zu HTTP 403 Forbidden Fehlern, wenn die API mit der Standard-Endpunkt-URL aufgerufen wird.


Relevante Informationen

Wie behebe ich HTTP-403-Fehler von API Gateway?

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 7 Monaten