Intenté conectarme a mi API de WebSocket de Amazon API Gateway pero recibí errores. ¿Cómo soluciono los problemas de mi conexión a la API de WebSocket?
Descripción corta
Los errores de conexión de la API de WebSocket de API Gateway se pueden producir debido a:
- Permisos insuficientes para realizar la solicitud al backend
- Campos incorrectos para el ID de la API, la región de AWS y la etapa de la API
- Errores en la integración del backend
- Errores de autenticación de AWS Identity and Access Management (IAM)
Resolución
Siga estos pasos para solucionar los problemas del caso de uso.
Confirme que la API de WebSocket tiene los permisos necesarios para realizar una solicitud al backend
API Gateway utiliza roles de IAM, políticas, etiquetas y autorizadores de AWS Lambda para controlar el acceso a una API de WebSocket. Para más información, consulte Control y administración del acceso a una API de WebSocket en API Gateway.
Además, asegúrese de que la solicitud de integración de la API de WebSocket está configurada correctamente.
Confirme que la solicitud se envía al ID de API, a la región de AWS y a la etapa de API correctos
En este ejemplo de URL de solicitud, asegúrese de que los siguientes campos son correctos:
wss://a1b2c3d4e5.execute-api.us-east-1.amazonaws.com/production
- El ID de API de WebSocket “a1b2c3d4e5”.
- La región de AWS “us-east-1”.
- El nombre de etapa de la API “producción” existe.
Compruebe los registros de CloudWatch para ver si hay errores
Siga las instrucciones para activar los registros de Amazon CloudWatch para la solución de problemas de las API de WebSocket de API Gateway. Si se integra una función Lambda para el backend, compruebe los registros de CloudWatch en busca de errores. Para obtener más información, consulte Acceso a los registros de CloudWatch para AWS Lambda.
Confirme que la solicitud de API está firmada si el método de API tiene la autenticación IAM activada
Si la autenticación de IAM está activada, asegúrese de que la solicitud de API esté firmada con Signature Version 4 (SigV4). Para obtener más información, consulte Firmar solicitudes de AWS con Signature Version 4.
Para activar la autenticación IAM para la API Gateway, siga estos pasos:
- En la consola del API Gateway, elija el nombre de su API.
- En el panel Resources (Recursos), elija un método (como GET o POST) para el que desee activar la autenticación IAM.
- En el panel Method Execution (Ejecución de método), elija Method Request (Solicitud de método).
- En Settings (Configuración), en Authorization (Autorización), seleccione el icono del lápiz (Editar). Elija AWS_IAM en la lista desplegable y, a continuación, el icono de marca de verificación.(Update [Actualizar]).
- (Opcional) Repita los pasos 2-4 para cada método de API para el que desee activar la autenticación de IAM.
- Implemente su API de WebSocket para que los cambios surtan efecto.
Información relacionada
Monitoreo de la ejecución de la API de WebSocket con métricas de CloudWatch
Uso de autorizadores Lambda de API Gateway
¿Cómo soluciono los problemas de errores HTTP 403 Forbidden (Prohibido) que aparecen al usar un autorizador de Lambda con una API de REST de API Gateway?
¿Cómo soluciono los problemas de al conectar a un punto de conexión de la API privada de API Gateway?