Как на 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