nginx auth основное ограничение по времени

Я защищаю свой dev-сервер с помощью nginx и auth_basic модуль, но я не могу найти способ указать интервал, в котором истекает "аутентификация".

Я хотел бы иметь возможность заставить nginx запрашивать пароль, скажем, каждые 6 часов. Есть ли способ сделать это? Если нет, то каков приемлемый обходной путь?

2 ответов


это, вероятно, невозможно. Кажется, нет никакой документации по страница HttpAuthBasicModule nginx чтобы предположить, что вы можете тайм-аут базовой аутентификации HTTP.

на спецификация HTTP на Authorization заголовки также не указан механизм тайм-аута. Я не ожидаю, что вы сможете полагаться на базовую аутентификацию, если вам нужны таймауты, если вы также не используете веб-приложение.

если ты смеешся веб приложение, вы можете поддерживать сеанс в файле cookie и тайм-аут сеанса после периода бездействия. По завершении тайм-аута сеанса используйте веб-приложение для отправки следующих заголовков:

HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic Realm="MyApp"

это предложит браузеру снова запросить учетные данные. Если вам нужен доступ к личности пользователя в вашем веб-приложении, вы должны найти его в REMOTE_USER переменные окружения CGI.

для эффективного использования статических активов техника, XSendfile может быть полезным.


Если вы все еще ищете решение этой проблемы, я считаю, что HttpAuthDigestModule-это то, что вы ищете.

Я просто нашел сегодня в Интернете.

вот ссылки:

http://wiki.nginx.org/HttpAuthDigestModule

https://github.com/samizdatco/nginx-http-auth-digest

надеюсь, это поможет вам.