nginx почтовый прокси за haproxy - получить реальный IP-адрес клиента - PullRequest
0 голосов
/ 01 апреля 2020

Я использую nginx в качестве почтового прокси-сервера, для аутентификации и некоторых других дополнений. Но мне нужно использовать другой прокси перед nginx (например, haproxy). Все в порядке, все работает. Но nginx не может получить реальный IP-адрес клиента.

В модуле http я могу переслать его с заголовком x-forwarded-for и nginx proxy_protocol. Но в почтовом модуле я не могу этого сделать. Почтовый модуль не поддерживает proxy_protocol.

Есть ли способ, как я могу передать реальный IP-адрес клиента на nginx?

Мой haproxy и nginx config like;

haproxy.cfg:

frontend IMAP
    bind 0.0.0.0:143 name IMAP tcp-ut 30s

    default_backend IMAP

backend IMAP
    option tcp-check
    tcp-check connect port 11143
    tcp-check expect string * OK

    server localhost 127.0.0.1:11143 send-proxy check

nginx .conf

mail {
    auth_http 127.0.0.1:333/auth;

    proxy on;
    imap_auth plain;
    server {
        listen 11143;
        protocol imap;
        auth_http_header proxyprotocol imap;
    }
}
...