Come posso disabilitare l'endpoint predefinito del gateway API per le API REST o HTTP?

Ultimo aggiornamento: 26/08/2022

Voglio consentire ai clienti di richiamare le mie API solo utilizzando il nome di dominio personalizzato. Come posso disattivare l'URL dell'endpoint API execute-api predefinito per le API REST o HTTP di Gateway Amazon API?

Breve descrizione

Le API REST del gateway API e le API HTTP utilizzano un endpoint API predefinito nel seguente formato: "https://{api_id}.execute-api.{region}.amazonaws.com". Se utilizzi un nome di dominio personalizzato per le API REST o HTTP del gateway API, puoi disattivare l'endpoint predefinito. Ciò consente a tutto il traffico di instradare verso le tue API tramite il nome di dominio personalizzato.

Risoluzione

Segui questi passaggi per disabilitare l'endpoint predefinito utilizzando la console API Gateway, Interfaccia della linea di comando AWS (AWS CLI) o AWS CloudFormation.

Nota:

Console API Gateway

REST API

  1. Apri la console API Gateway.
  2. Nel pannello di navigazione, scegli API, quindi seleziona REST API.
  3. Nel pannello di navigazione, scegli Impostazioni.
  4. Per l'endpoint predefinito, scegli Disabilitato, quindi seleziona Salva modifiche.
  5. Nel riquadro di navigazione, scegli Risorse, Operazioni, quindi scegli Implementa API.

API HTTP

  1. Apri la console API Gateway.
  2. Nel pannello di navigazione, scegli API, quindi seleziona API HTTP.
  3. Nel pannello di navigazione, scegli Impostazioni.
  4. Per l'endpoint predefinito, scegli Disabilitato, quindi seleziona Salva modifiche.
  5. Nel riquadro di navigazione, scegli Risorse, Operazioni, quindi scegli Implementa API.

AWS CLI

REST API

Esegui il comando AWS CLI update-rest-api in modo simile al seguente:

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

Per implementare l'API aggiornata, esegui il comando AWS CLI create-deployment in modo simile al seguente

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

Nota: sostituisci api_id abcdef123 e stage_name dev con il tuo ID REST API e la rispettiva fase.

API HTTP

Esegui il comando AWS CLI update-api in modo simile al seguente:
aws apigatewayv2 update-api --api-id abcdef123 --disable-execute-api-endpoint

Per implementare l'API aggiornata, esegui il comando AWS CLI create-deployment in modo simile al seguente:

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

Nota: sostituisci api_id abcdef123 e stage_name dev con il tuo ID API HTTP e la rispettiva fase.

Modello CloudFormation

Per disabilitare l'endpoint predefinito da un modello CloudFormation, è possibile impostare il parametro DisableExecuteApiEndpoint su True. Aggiorna il modello CloudFormation per REST API o l'API HTTP.

Importante: la disattivazione dell'endpoint predefinito genera Errori HTTP 403 di accesso negato se l'API viene richiamata utilizzando l'URL dell'endpoint predefinito.


Questo articolo è stato utile?


Benötigen Sie Hilfe zur Fakturierung oder technischen Support?