Nginx прокси не передает real_ip Nginx бекэнду

Автор: | 07.10.2014

Nginx прокси не передает real_ip Nginx бекэнду. В процессе анализа обнаружилось, что это бекэнд не принимает реальные IP. Если с Apache всё решилось установкой mod_rpaf, то для Nginx с наличием ngx_http_realip_module проблему решить не удалось. После гугления и методом перебора настроек всё таки проблему удалось побороть.

  • Проверяем наличие модуля ngx_http_realip_module выполнив nginx -V
  • На фронтэнде в конфигурации проксируемого сайта добавляем:
    location / {
    proxy_pass http://192.168.1.12:8012;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
  • На бекэнде добавляешь в тот же файл:
    set_real_ip_from 192.168.1.7;
    real_ip_header X-Forwarded-For;
  • где, 192.168.1.7 – прокси, 192.168.1.12 – бекэнд

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.