¿Cómo puedo desactivar el punto de conexión predeterminado de la puerta de enlace API para las API de REST o HTTP?

3 minutos de lectura
0

Me gustaría permitir a los clientes invocar mis API utilizando únicamente el nombre de dominio personalizado. ¿Cómo puedo desactivar la URL de punto de conexión de la API predeterminada execute-api para las API de REST o HTTP de Amazon API Gateway?

Descripción corta

Las API de REST y las API HTTP de la puerta de enlace API utilizan un punto de conexión de API predeterminado que tiene el siguiente formato «https://{api_id}.execute-api.{region}.amazonaws.com». Si utiliza un nombre de dominio personalizado para la puerta de enlace API de REST o HTTP, puede desactivar el punto de conexión predeterminado. Esto permite que todo el tráfico se dirija a las API a través del nombre de dominio personalizado.

Resolución

Siga estos pasos para desactivar el punto de conexión predeterminado mediante la consola de la puerta de enlace API, la interfaz de la línea de comandos de AWS (AWS CLI) o AWS CloudFormation.

Nota:

Consola de puerta de enlace API

API de REST

  1. Abra la consola de puerta de enlace API.
  2. En el panel de navegación, elija APIs (API) y, a continuación, elija la API de REST.
  3. En el panel de navegación, elija Settings (Configuración).
  4. En Default Endpoint (Punto de conexión predeterminado), elija Disabled (Deshabilitado) y, a continuación, elija Save Changes (Guardar cambios).
  5. En el panel de navegación, elija Resources (Recursos), Actions (Acciones) y, a continuación, elija Deploy API (Desplegar API).

API HTTP

  1. Abra la consola de puerta de enlace API.
  2. En el panel de navegación, elija APIs (API) y, a continuación, elija la API HTTP.
  3. En el panel de navegación, elija Settings (Configuración).
  4. En Default Endpoint (Punto de conexión predeterminado), elija Disabled (Deshabilitado) y, a continuación, elija Save Changes (Guardar cambios).
  5. En el panel de navegación, elija Resources (Recursos), Actions (Acciones) y, a continuación, elija Deploy API (Desplegar API).

AWS CLI

API de REST

Ejecute el comando update-rest-api de la CLI de AWS de esta manera:

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

Para desplegar la API actualizada, ejecute el comando create-deployment de la CLI de AWS de esta manera

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

Nota: Sustituya api_id abcdef123 y stage_name dev por su ID de API de REST y la fase correspondiente.

API HTTP

Ejecute el comando update-api de la CLI de AWS de esta manera:

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

Para desplegar la API actualizada, ejecute el comando create-deployment de la CLI de AWS de esta manera:

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

Nota: Sustituya api_id abcdef123 y stage_name dev por su ID de API HTTP y la fase correspondiente.

Plantilla de CloudFormation

Para deshabilitar el punto de conexión predeterminado de una plantilla de CloudFormation, puede establecer el parámetro DisableExecuteApiEndpoint en True. Actualice la plantilla de CloudFormation para la API de REST o la API HTTP.

Importante: La desactivación del punto de conexión predeterminado genera errores HTTP 403 Forbidden (HTTP 403 Prohibido) si se invoca la API utilizando la URL del punto de conexión predeterminado.


Información relacionada

¿Cómo puedo solucionar los errores HTTP 403 de mi puerta de enlace API?

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 9 meses