Как на nginx быстро наличие аутентификации проверять?
Alex Vorona
voron at amhost.net
Thu Mar 20 23:33:57 MSK 2008
Kostya Alexandrov пишет:
> Это близкие задачи, зачем разделять,
задачи близкие, только хитов в эти задачи ожидается разное количество в
контексте ддоса.
nginx хороший фронтенд, если просто
> сможет обращаться за кукой в "хранилище" то уже здорово(!)
зачем ему обращаться за кукой куда-то? Куку он видит(или не видит, если её нет)
в запросе клиента. Если кука есть, nginx зная ключ и видя ИП, с которого пришёл
запрос, генерит хэш и сравнивает его с кукой. По результатам сравнения запрос
клиента отрабатывает или клиент получает 40x. Нет куки - выдавать мелкий хтмл с
текстом "введите в строке браузера" и картинку с url, либо js/html-редирект,
либо 40x, либо ... :)
> А то что у меня снизилась нагрузка на бекенде разве это плохо? можно
> считать его тяжелым :)
>
> Если еще привязать куку к бекенду в апстриме, то вааще будет очень
> круто. Это фактически раскидывание сессий по нодам на которых прошла
> авторизация. По ip так можно делать, но это несколько не то.
>
да, как вариант, такое возможно. Только и о неподдерживающих куки клиентах в
этом случае надо как-то подумать
> Alex Vorona wrote:
>> Kostya Alexandrov пишет:
>>> Совершенно верно, согласно профайлеру (потратил часа два) отключение
>>> проверки авторизации снижает нагрузку с 22-23 до 18-19 %
>>> с камней
>> речь идёт о бэкенде? Я предлагаю использовать модуль nginx как фильтр
>> неавторизованных запросов ботов на тяжёлые части сайта(к которым
>> должны обращаться только авторизованые клиенты), а не как акселератор
>> проверки авторизации для тех, у кого она есть.
>>> плюс уходит время которое тратится на доступ к синхронизированным
>>> контейнерам сессий и т.п, но кроме самой куки надо еще помнить с
>>> какого ip она может быть (откуда была авторизация)
>>>
>> IP сидит в самой куке хэшем вместе с ключём.
>>> Alex Vorona wrote:
>>>> Kostya Alexandrov пишет:
>>>>
>>>>> Помоему разными локейшенами разруливается легко.
>>>>>
>>>>> Alex Vorona wrote:
>>>>>
>>>>>> alekciy пишет:
>>>>>>
>>>>>>
>>>>>>>> даже в расчищенной квоте есть "Неавторизованные пользователи имеют
>>>>>>>> доступ только к паре статических страничек и скрипту логина." Если
>>>>>>>> вопрос в другом - сформулируйте его, возможно я не так понял сабж.
>>>>>>>> Насколько я понял, основной вопрос это "Как грамотно реализовать
>>>>>>>> быструю
>>>>>>>> проверку _внутри_ nginx, что пользователь действительно прошел
>>>>>>>> авторизацию и имеет активную сессию?"
>>>>>>>>
>>>>>>> ...и видимо как потом максимально эффективно уведомить бэкэнд за
>>>>>>> nginx-ом
>>>>>>> о том, что пользователь действительно авторизован?
>>>>>>>
>>>>>> а для чего? Неавторизованные пользователи не пропускаются nginx'ом
>>>>>> никуда кроме формы логина. Бэкенд после авторизации выставляет куки,
>>>>>> который является пропуском для остальных страниц на уровне nginx.
>>>>>>
>>>>>>
>>>>>>
>>>> в тех локейшнах, которые ждут только авторизованных пользователей и
>>>> проксируются на бэкенд, надо nginx'ом быстро проверять авторизацию.
>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>>
>
>
More information about the nginx-ru
mailing list