Задать вопрос
@kahi4

Nginx условия при отдаче контента, как выполнить bash скрипт и отдать страницу в зависимости от результата выполнения?

Есть большое количество сервисов внутреннего использования, оформленных как веб-приложения. Все имеют единую систему авторизации. Однако, они написаны на разных языках программирования (такое уж наследие выдалось :( ), в силу чего даже мелкие изменения в системе авторизации превращаются в боль.

Появилась идея обобщить это на уровне nginx. Сделать некую программу, которая будет брать на себя все заботы об авторизации. От nginx ожидается то, что он будет при наличии куки token опрашивать эту программу с целью проверить валидность токена. В случае успеха -- выдавать контент. В случае неудачи редиректить (в идеале просто отдавать ответ приложения) на страницу логина.

Таким образом, авторизация будет обобщенным модулем.

Собственно вопрос: как это организовать силами nginx? (слышал о возможности написания скриптов на lua, насколько это подходит?)

Ну и в догонку -- есть ли более удобный способ организовать такой функционал?
  • Вопрос задан
  • 448 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
merryjane
@merryjane
Системный администратор
Вы как-то сложно описали процесс.
Посмотрите вот на такой модуль:
nginx.org/ru/docs/http/ngx_http_auth_request_modul...

Суть в том, что можно сделать бекенд (скрипт) который будет валидировать пользователя и возвращать какой-то код ответа, на основании которого данный модуль уже будет или пускать или не пускать.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы