Проброс реального IP внутрь Docker

Nginx с хоста проксирует на nginx в контейнере.

В конфиге "хостового" nginx:

location / {
    proxy_pass http://127.0.0.1:12345;
    proxy_set_header Host      $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
}

В конфиге того, что в контейнере: real_ip_header X-Real-IP;.

У обоих включены логи в разные файлы. В логах хостового nginx показывается мой IP, а в логах "контейнерного" - докеровский 172.30...

При этом внутренний nginx проксирует на контейнер с php-fpm. Внутри вывожу полученные заголовки и там есть "X-Real-Ip", а в нём вполне себе мой изначальный IP. То есть нужный заголовок приходит.

Как заставить nginx в докере писать в лог реальный IP? И должен ли он его туда вообще писать или он внутренний $remote_addr не меняет никогда?


Ответы (0 шт):