#string #haproxy #high-availability #health-monitoring #health-check
Вопрос:
У меня проблема с правильной обработкой приложения, в целом конфигурация haproxy выглядит так:
frontend ui bind 192.168.10.40:80 mode http option forwardfor option httplog use_backend uib frontend uis bind 192.168.10.40:443 ssl crt /etc/haproxy/cloud.pem mode http option httpclose option forwardfor reqadd X-Forwarded-Proto: https use_backend uib backend uib mode http option httpchk OPTIONS /client option tcp-check tcp-check connect port 9200 tcp-check expect string is synced. balance source server psc1.piszki.lab:8080 192.168.10.41:8080 maxconn 32 check inter 5000 check server psc2.piszki.lab:8080 192.168.10.42:8080 maxconn 32 check inter 5000 check backup
Эта конфигурация предотвращает несинхронизацию узла mariadb и отсутствие приложения как такового. Однако, если приложение зависает с ошибкой базы данных (например, взаимоблокировка), появляется следующее сообщение:
HTTP ERROR 503 Service Unavailable URI: /client/ STATUS: 503 MESSAGE: Service Unavailable SERVLET: - lt;htmlgt; lt;headgt; lt;meta http-equiv="Content-Type" content="text/html;charset=utf-8"/gt; lt;titlegt;Error 503 Service Unavailablelt;/titlegt; lt;/headgt; lt;bodygt;lt;h2gt;HTTP ERROR 503 Service Unavailablelt;/h2gt; lt;tablegt; lt;trgt;lt;thgt;URI:lt;/thgt;lt;tdgt;/client/lt;/tdgt;lt;/trgt; lt;trgt;lt;thgt;STATUS:lt;/thgt;lt;tdgt;503lt;/tdgt;lt;/trgt; lt;trgt;lt;thgt;MESSAGE:lt;/thgt;lt;tdgt;Service Unavailablelt;/tdgt;lt;/trgt; lt;trgt;lt;thgt;SERVLET:lt;/thgt;lt;tdgt;-lt;/tdgt;lt;/trgt; lt;/tablegt; lt;/bodygt; lt;/htmlgt;
Я понятия не имею, как с этим справиться, у меня есть haproxy 1.8.27, я был бы признателен за любые предложения.