172 похожих чатов

Всем привет. Вопрос по хапрокси. Конфигурация такая - хапрокси-нжинкс-кестрел. В

ниже приведенной конфигурации указано если прилетает код ответа который начинает на 5, то считать сервер не доступный и переключать на следующую ноду. В принципе все отрабатывает как надо, но в сам момент выключения кестрела ошибка 502 все равно прилетает и что б сработало переключение на следующую ноду надо еще раз обновить страницу. Возможно как-то достичь результата, что б оно железно фильтровало ответы и не в коем случае 502 не выдавало, а сразу редиректило на следующую ноду?

frontend www-https
bind *:443 ssl crt /etc/haproxy/certs/site.pem
http-request set-header X-Forwarded-Proto https
default_backend web-back
option forwardfor header X-Real-IP

backend web-back
redirect scheme https if !{ ssl_fc }
balance source
option httpchk
http-check expect ! rstatus ^5
server web1_10.200.2.91 10.200.2.91:80 check on-marked-down
shutdown-sessions
server web2_10.200.2.92 10.200.2.92:80 check on-marked-down
shutdown-sessions

12 ответов

21 просмотр

location / { error_page 502 = @fallback; } location @fallback { proxy_pass http://backend; }

я же вчера давал ссылку на retry? Читать лень?

https://www.haproxy.com/blog/haproxy-layer-7-retries-and-chaos-engineering/

Dmitry Pronyaev
https://www.haproxy.com/blog/haproxy-layer-7-retri...

Вот вчера этот самый линк постил

AlexD
Вот вчера этот самый линк постил

оффдока наше всё)) Почти во всех случаях решает

Dmitry Pronyaev
оффдока наше всё)) Почти во всех случаях решает

только люди их не читают. Даже если под нос суешь.

Mr rang_a And udav
screenshot

таких прям за профнепригодность надо на мороз.

Volodymyr-Victorovich Автор вопроса
AlexD
я же вчера давал ссылку на retry? Читать лень?

я попробовал.. но оно почему то не работает( я в бекэнд добавил option redispatch 1 retry-on all-retryable-errors retries 3 http-request disable-l7-retry if METH_POST но ошибки все равно ловлю( сработал только тот метод с httpchk httpchk тоже не идеально отрабатывает за счет интервала чека и количество чеков

Volodymyr-Victorovich Автор вопроса
AlexD
я же вчера давал ссылку на retry? Читать лень?

поставил балансировку раундробин вместо source и заработало... хммм

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта