Efectos secundarios comunes de la configuración incorrecta de las comprobaciones del sistema del equilibrador de carga

Obtenga información sobre los efectos secundarios comunes asociados a la configuración incorrecta de las comprobaciones del sistema del equilibrador de carga.

A continuación se muestran los efectos secundarios comunes de la configuración incorrecta de las comprobaciones del sistema, que se pueden utilizar para solucionar problemas.

  • Puerto incorrecto

    En este escenario, se notifica que todos los servidores de backend están en mal estado. Si los servidores de backend no tienen problemas, es posible que haya cometido un error al definir el puerto. El puerto debe ser un puerto que reciba y haya permitido el tráfico en el backend.

    Error de registro de OCI: errno:EHOSTUNREACH, syscall:connect

  • Ruta incorrecta

    En este escenario, se notifica que todos los servidores de backend están en mal estado. Si los servidores de backend no tienen problemas, puede que haya cometido un error al definir la ruta de acceso para la comprobación del sistema HTTP que necesita que coincida con una aplicación real en el backend. En este escenario, puede usar la utilidad curl para realizar pruebas desde un sistema de la misma red. Por ejemplo: $ curl -i http://backend_ip_address/health

    Recibirá el código de estado configurado en la respuesta Error de registro de OCI: "msg":"invalid statusCode","statusCode":404,"expected":"200".

  • Protocolo incorrecto

    En este escenario, se notifica que todos los servidores de backend están en mal estado. Si los servidores de backend no tienen problemas, es posible que haya cometido un error al definir el protocolo que necesita para que coincida con el protocolo que recibe en el backend. Por ejemplo: solo están soportadas las comprobaciones del sistema TCP y HTTP. Si el backend utiliza HTTPS, debería utilizar TCP como protocolo.

    Error de registro de OCI: code:EPROTO, errno:EPROTO

  • Código de estado incorrecto

    En este escenario, se notifica que todos los servidores de backend están en mal estado. Si los servidores de backend no tienen problemas, para una comprobación del sistema HTTP podría haber cometido un error al definir el código de estado para que coincida con el código de estado real que se devuelve del backend. Un escenario común es cuando un backend devuelve el código de estado 302, aunque se espera el código de estado 200. Como consecuencia es probable que el backend le envíe a una página de conexión o a otra ubicación del servidor. En este caso, puede corregir el backend para que devuelva el código esperado o utilizar 302 en la configuración de comprobación del sistema.

    Error de registro de OCI: msg:invalid statusCode, statusCode:nnn,expected:200 donde nnn es el código de estado que se devuelve.

  • Patrón de expresión regular incorrecto

    Todos los servidores de backend informan de que están en mal estado. Si los servidores de backend no tienen problemas, es posible que haya cometido un error al definir un patrón de expresión regular incorrecto consistente con el cuerpo o que el backend no devuelva el cuerpo esperado. En este caso, puede cambiar el backend para que coincida con el patrón o corregir el patrón para que coincida con el backend. A continuación se muestran algunos ejemplos de patrón específicos.
    • Cualquier contenido: .*

    • Una página que devuelve el valor Status:OK: - Status:OK:.*

    • Error de registro de OCI: response match result: failed

  • Grupos de seguridad de red, listas de seguridad o firewall local mal configurados

Todos o algunos de los servidores de backend informan de que están en mal estado. Si los servidores de backend no tienen ningún problema, puede que haya configurado incorrectamente los grupos de seguridad de red, las listas de seguridad o los firewalls locales (como firewalld, iptables o SELinux). En este escenario, puede usar las utilidades curl o netcat para realizar pruebas desde un sistema que pertenezca a la misma subred y grupo de seguridad de red que el HTTP de la instancia del equilibrador de carga. Por ejemplo: $ curl -i http://backend_ip_address/health TCP y nc -zvw3 backend_ip_address 443.

Puede comprobar el firewall local mediante el siguiente comando: firewall-cmd --list-all --zone=public.. Si en el firewall faltan las reglas esperadas, puede utilizar un juego de comandos como este para agregar el servicio (este ejemplo es para el puerto HTTP 80):

  • firewall-cmd --zone=public --add-service=http

  • firewall-cmd --zone=public --permanent --add-service=http