LINUX.ORG.RU
решено ФорумAdmin

Не работает строгая проверка по user agent на Nginx

 , , ,


0

1

Всем привет, коллеги!

Столкнулся со странной ситуацией. На моих Nginx сейчас используется нестрогая проверка по юзерагенту. Выглядит это так:

if ($http_user_agent !~* «MyUserAgent») { return 403; }

т.е. все юзерагенты, имеющие внутри себя строку MyUserAgent - пропускаются.

Сейчас мне понадобилось сделать проверку строже, т.е ТОЛЬКО посетители с юзерагентом MyUserAgent должны проходить, а остальным 403. Я попытался сделать так:

if ($http_user_agent != «MyUserAgent») { return 403; }

иии… получил 403 при правильном юзерагенте. Подскажите, пожалуйста, куда копать.


В UA точно именно такая строка у них? Или все-таки подстрока?

anonymous
()

Подскажите, пожалуйста, куда копать

Использовать map.

vvn_black ★★★★★
()

ЕМНИП в nginx нет оператора !=

Плюсую предыдущего регистранта, юзай map.

Twissel ★★★★★
()

Спасибо всем за советы! Буду копать в сторону map’ов

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