Назад | Перейти на главную страницу

IP-адрес HAProxy FrontEnd добавлен в заголовок

Можно ли с помощью HAProxy 1.5 добавить заголовок запроса, значение которого является IP-адресом, используемым интерфейсом, привязка которого использует подстановочный знак?

Например, учитывая следующую конфигурацию, могу ли я чем-то заменить "% [fe_id]", чтобы получить переменный IP-адрес, который использовался для подключения к веб-интерфейсу?

frontend localhost
    bind *:80
    bind *:443 ssl crt /etc/ssl/ssl.pem
    mode http
    default_backend nodes
    option forwardfor

backend nodes
    mode http
    balance roundrobin
    http-request add-header X-FrontEnd-IP %[fe_id]
    server web00 10.1.10.15:80 check
    server web01 10.1.10.16:80 check
    server web02 10.1.10.17:80 check

Я понял. Не знаю, как я это пропустил, но это переменная "dst". Итоговая конфигурация будет выглядеть так:

frontend localhost
    bind *:80
    bind *:443 ssl crt /etc/ssl/ssl.pem
    mode http
    default_backend nodes
    option forwardfor

backend nodes
    mode http
    balance roundrobin
    http-request add-header X-FrontEnd-IP %[dst]
    server web00 10.1.10.15:80 check
    server web01 10.1.10.16:80 check
    server web02 10.1.10.17:80 check

Таким образом, мы можем видеть, поступил ли запрос изнутри или вне нашей сети, и веб-сервер может соответствующим образом адаптироваться.

Более того, получить доступ к этой переменной с помощью PHP так же просто, как использовать массив $ _SERVER с ключом «HTTP_X_FRONTEND_IP».

$_SERVER['HTTP_X_FRONTEND_IP']