nginx http_x_forwarded_for

L
На сайте с 13.01.2011
Offline
125
1818

есть задача прибить http_x_forwarded_for все кроме "-"

то есть если значение http_x_forwarded_for в конце лога "119.81.226.186" - любой ip - то прибиваем его.

119.81.226.186 - - [22/Jan/2016:23:27:42 +0300] GET / HTTP/1.1 "200" 11594 "http://site.ru/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like G
ecko) Chrome/30.0.1599.17 Safari/537.36" "119.81.226.186"

пробовал так - но банит любой запрос - даже если http_x_forwarded_for "-"

if ($http_x_forwarded_for !~ "-") {
return 444;
}

есть у кого идеи ?

Контакты-icq 535609 ()
kxk
На сайте с 30.01.2005
Offline
970
kxk
#1

Logger, А, зачем в конце лога пишется ip ещё раз?

Ваш DEVOPS
U
На сайте с 09.04.2015
Offline
28
#2

В секции http

map $http_x_forwarded_for $use_proxy {

default 1;
"" 0;
"-" 0;
}

в секции server

if ($use_proxy = 1) {return 444;}
L
На сайте с 13.01.2011
Offline
125
#3
kxk:
Logger, А, зачем в конце лога пишется ip ещё раз?

как раз по вашей специальности

kxk
На сайте с 30.01.2005
Offline
970
kxk
#4

Logger, У меня крайне примитивные логи, всё самое важное проверяется в браузере, в реальном времени.Времена блекхолов прошли...

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий