Re: Авторизация соединения
Maxim Dounin
mdounin на mdounin.ru
Пн Авг 7 12:53:22 UTC 2017
Hello!
On Tue, Aug 01, 2017 at 09:30:57AM -0400, Vladimir Koshelev wrote:
> Я пробую написать модуль для авторизации клиента с помощью подзапроса,
> включающего данные из клиентского сертификата. Результат подзапроса содержит
> токен, на основе которого и принимается решение. Выполнять подзапрос для
> каждого запроса накладно. поэтому я хотел бы выполнять его только для
> первого запроса или сразу после TLS handshake и кэшировать для данного
> соединения. Возможно ли это?
Закешировать что-то в рамках конкретного соединения можно с
помощью cleanup-обработчиков пула соединения. Пример можно
посмотреть в модуле ngx_http_realip_module, там подобный приём
применяется для сохранения контекста модуля даже в случае
внутрениих перенаправлений запроса.
Но вообще я бы рекомендовал не изобретать велосипед, а взять auth_request,
http://nginx.org/en/docs/http/ngx_http_auth_request_module.html.
И использовать обычное кеширование, если обращение к бекенду
накладно.
--
Maxim Dounin
http://nginx.org/
Подробная информация о списке рассылки nginx-ru