LINUX.ORG.RU
ФорумAdmin

Работа и именами клиентов в nginx


0

2

Наконец решили переводить apache на nginx и тут начались проблемы :( В конфиге apache имеется такой блок: SetEnvIfNoCase Remote_Host ^dgp56-.* x_lpu=10000474 RequestHeader add X_REMOTE_LPU «%{x_lpu}e» env=x_lpu Как его реализовать в nginx пока не догадался. Дошел только до такого: server { listen 80; underscores_in_headers on; resolver 10.0.8.50; location / { proxy_pass http://tfront01; if ($remote_addr = «wksf80.*»){ set $x_lpu 222; } proxy_pass_header X_REMOTE_LPU; proxy_set_header X_REMOTE_LPU $x_lpu;

но эта конструкция оказалась не рабочей. Вот это условие $remote_addr = «wksf80.*» не работает т.к. результат $remote_addr всегда IP. Может у кого есть мысли где я делаю ошибку или может существует другой способ реализации. Заранее благодарен!

Ответ на: комментарий от Skolotovich

Попробовал тест: proxy_pass_header XX; set $YY $http_host; proxy_set_header XX $YY;

и в итоге получил XX = 10.0.8.50 Т.е. показывает IP самого сервера.

terroid
() автор топика
Ответ на: комментарий от power

На сколько я понимаю этот модуль необходим для определения IP на backend. А у меня задача на nginx узнать имя машины клиента и произвести некоторые манипуляции.

terroid
() автор топика
Ответ на: комментарий от Skolotovich

Нет таких извращенцев как я с такими задачами поэтому и глухая тема :) А что касаемо $remote_host выдает ошибку Starting nginx: nginx: [emerg] unknown «remote_host» variable

версия nginx: nginx version: nginx/1.0.8 А в какой версии работает remote_host ?

terroid
() автор топика
Ответ на: комментарий от terroid

в какой версии работает remote_host ?

похоже что в никакой ):

Skolotovich ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.