Upstream_probe в pro версии HTTP healthcheck

Добрый день. Тестирую angie pro как L4 балансировщик. Backend, на который проксирует angie настроен с Proxy protocol, поэтому в контексте server proxy_protocol включен. Также есть 2 Endpoint HTTP на отдельных портах, которые необходимо проверять, для этого предполагается использовать Upstream_probe. И так как upstream_probe работает в контексте директивы server, то он использует proxy_protocol а на HTTP Endpoint proxy protocol нет, проверки падают.

  1. Можно ли каким то образом корректно настроить проверку в такой конфигурации ?
  2. Можно ли с помощью 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;
}

Лучше обращаться по контактом коммерческой поддержке. Там быстрее ответят. Это форум для поддержки сообщества пользователей версии с открытым кодом и никакого SLA на такую поддержку нет.

Директива upstream_probe не обязана находиться в том же блоке, где проксируются пользовательски запросы. Определяемое состояние привязывается к группе upstream, а не блоку server в котором находится директива.

Можно создать отдельный блок server с любыми другими настройками, например:

server {
      listen 1443;
      server_name probe_only;
      proxy_protocol off;
      proxy_pass myos_9200;
      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”;
}

Если я правильно понял что под этим подразумевается, то по умолчанию, если не указывать никакого параметра test=, это и будет просто проверка возможности установки TCP-соединения.

ок, попробуем, спасибо за ответ