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:
- Se ricevi un messaggio di errore durante l'esecuzione dei comandi AWS CLI, assicurati di usare la versione più recente di AWS CLI.
- Dopo aver attivato o disattivato l'endpoint predefinito, è necessaria un'implementazione affinché l'aggiornamento abbia effetto.
Console API Gateway
REST API
- Apri la console API Gateway.
- Nel pannello di navigazione, scegli API, quindi seleziona REST API.
- Nel pannello di navigazione, scegli Impostazioni.
- Per l'endpoint predefinito, scegli Disabilitato, quindi seleziona Salva modifiche.
- Nel riquadro di navigazione, scegli Risorse, Operazioni, quindi scegli Implementa API.
API HTTP
- Apri la console API Gateway.
- Nel pannello di navigazione, scegli API, quindi seleziona API HTTP.
- Nel pannello di navigazione, scegli Impostazioni.
- Per l'endpoint predefinito, scegli Disabilitato, quindi seleziona Salva modifiche.
- 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.
Informazioni correlate
Questo articolo è stato utile?
Benötigen Sie Hilfe zur Fakturierung oder technischen Support?