Как показать пустую страницу с ошибкой в HAProxy для одного URL?
Вопрос
У меня есть один URL сказать:
http://foo-backend.com/display_blank_when_errored
На сайте за балансировщиком нагрузки HAProxy предположим, что интерфейсный сайт:
Когда происходит ошибка 99% времени, я хочу показать страницы ошибок, настроенные с errorfile
но только на этой странице я хочу вернуть пустой ответ. Как бы я поступил так?
Фон
Это использует HAProxy 1.5.
У меня есть страница, которая используется в Интернете в IFrame, и в редком случае, когда сервер не работает, вместо отображения страницы с ошибкой, я хочу, чтобы она не отображала ничего, чтобы пользовательский интерфейс не пострадал.
1 ответ
Решение
Вы можете использовать другой бэкэнд-раздел для указанного URL. Например:
frontend webserver
use_backend srv_noerrors if { url_beg /display_blank_when_errored }
default_backend srv_werrors
backend srv_noerrors
errorfile 503 /etc/haproxy/errors/503err_blank.http
backend srv_werrors
errorfile 503 /etc/haproxy/errors/503err_info.http