заставить haproxy получить правильный http код возврата или проверить тело ответа - PullRequest
0 голосов
/ 17 марта 2020

Я пытаюсь вращаться между прокси, используя haproxy. Ниже приведена часть моей конфигурации:

frontend rotatingproxies
        bind *:3128
        default_backend pool
        option http_proxy
        option http-use-proxy-header
        option accept-invalid-http-request

backend pool
        mode http
        server proxy1 ip1:port1;
        server proxy2 ip2:port2;
        balance roundrobin

Я могу выполнить запрос через haproxy, например: curl -x http://localhost:3128 "https://httpstat.us/429"

У меня проблема в том, что haproxy, кажется, не регистрирует реальный HTTP-ответ код из конечной точки. Как и в примере выше, «https://httpstat.us/429» вернет код состояния 429. Но в журнале haproxy указывается, что http-код равен 200:

пул вращающихся прокси / proxy1 0/0/216/355/1609 200 3670 - - ---- 1 / 1/0/0/0 0/0 {} "CONNECT httpstat.us:443 HTTP / 1.1

По сути, я хочу написать пользовательское ограничение скорости на основе кода ответа или тела ответа, но Как я знаю, haproxy не может проверять тело ответа без написания пользовательского сценария Lua.

Итак, как я могу заставить haproxy получить правильный код состояния http или проверять код ответа без написания пользовательского сценария Lua?

...