Tengo microservicios implementados en contenedores, que funcionan bien y podemos acceder con ALBendpoint/microservicio.
Pero mi grupo objetivo que se adjuntó a ALB muestra el estado "Incorrecto".
Errores en la consola de AWS: ninguna de estas zonas de disponibilidad contiene un objetivo en buen estado. Las solicitudes se están enrutando a todos los objetivos. Las comprobaciones de estado fallaron con estos códigos: [404]
Estoy viendo dos problemas aquí.
Si un grupo de destino contiene solo destinos registrados en mal estado, los nodos del balanceador de carga enrutan las solicitudes a través de sus objetivos en mal estado. Controles de salud para sus grupos objetivo
404 significa que no se encuentra la URL de verificación de estado. Confirme la configuración de la comprobación de estado. su URL de verificación de estado debe responder a la respuesta HTTP 200 OK . Si sus instancias se agotan repetidamente, puede configurar temporalmente la regla de verificación de estado para que coincida con HTTP 404 hasta que sus instancias estén en buen estado. Una vez que descubra la URL de verificación de estado correcta, puede configurarla.
Espero que esto ayude.
En mi caso, servidor IIS y resuelto con los pasos a continuación.
Inicie sesión en el servidor y verifique si el sitio predeterminado del servidor IIS tiene el puerto 443 abierto si su verificación de estado está en 443 (cualquiera que sea el puerto que esté utilizando para las verificaciones de salud).
Use el comando curl para solucionar el problema.
Si desea verificar HTTPS, use el siguiente comando para verificar la respuesta. Use -k o --insecure para ignorar el problema de SSL.
curl https://[IP del servidor] -k
Para la prueba HTTP, use el siguiente comando.
curl http://[IP del servidor]
Estuve lidiando con este problema durante 1 día. Finalmente me di cuenta de que había eliminado la configuración predeterminada del servidor de nginx. esto es necesario para la ruta predeterminada que verifica el control de salud