Добрый день. Тестирую angie pro как L4 балансировщик. Backend, на который проксирует angie настроен с Proxy protocol, поэтому в контексте server proxy_protocol включен. Также есть 2 Endpoint HTTP на отдельных портах, которые необходимо проверять, для этого предполагается использовать Upstream_probe. И так как upstream_probe работает в контексте директивы server, то он использует proxy_protocol а на HTTP Endpoint proxy protocol нет, проверки падают.
- Можно ли каким то образом корректно настроить проверку в такой конфигурации ?
- Можно ли с помощью upstream_probe выполнять проверку tcp healthcheck ?
Пример конфигурации ниже
upstream myos_9200 {
zone os_9200 10m;
server 192.168.1.15:9200 slow_start=2 max_fails=3 fail_timeout=2s;
server 192.168.1.16:9200 slow_start=2 max_fails=3 fail_timeout=2s;
}
map $upstream_probe_response $good {
~200 “1”;
default “”;
}
server {
listen 1443;
proxy_pass myos_9200;
proxy_connect_timeout 2s;
proxy_timeout 5s;
proxy_protocol on;
upstream_probe http_probe_8080 port=8080 test=$good interval=2s fails=3 passes=2 mode=always “send=data:GET / HTTP/1.0\r\n\r\n”;
access_log /var/log/angie/stream_1443_access.log stream;
error_log /var/log/angie/debug_stream_1443.log debug;
}