Аутентификация

Тема дорожной карты · Nginx

Nginx поддерживает несколько механизмов аутентификации, позволяющих веб-серверу или обратному прокси ограничивать доступ к защищённым ресурсам до того, как запросы достигнут вышестоящих приложений. Встроенный модуль ngx_http_auth_basic_module обеспечивает HTTP Basic Authentication с использованием файлов паролей, созданных утилитой htpasswd, тогда как ngx_http_auth_request_module реализует аутентификацию на основе подзапросов — делегируя проверку учётных данных внешнему сервису через auth_request /auth;. Для рабочих процессов на основе токенов и SSO Nginx может проверять JWT непосредственно в Nginx Plus или через lua-nginx-module, а потоки OAuth 2.0 можно проксировать через специализированные sidecar-сервисы. Любая конфигурация аутентификации должна сочетаться с завершением SSL/TLS, чтобы учётные данные никогда не передавались в открытом виде по сети. Правильно настроенная аутентификация в Nginx необходима для защиты API, административных панелей и внутренних сервисов, доступных через обратный прокси.

Как это работает

Аутентификация имеет встроенную HTTP Basic auth (auth_basic + auth_basic_user_file с htpasswd), верификацию client TLS-сертов (ssl_client_certificate + ssl_verify_client on) и auth_request для делегированной auth (subrequest к auth-сервису — идеально для OAuth-flow, SSO, JWT-верификации через sidecar). Для SSO + OIDC — модуль lua-resty-openidc (с OpenResty/Lua) или vouch-proxy как sidecar.

Когда применять

HTTP Basic — для непубличных admin / internal dashboards: быстро настроить, достаточно поверх HTTPS. auth_request — для делегирования к OAuth-прокси (oauth2-proxy, vouch-proxy) когда нужен реальный SSO. Client TLS-серты — для very-high-assurance B2B API или замены VPN. Не пишите свою JWT-верификацию в nginx — OpenResty/Lua или sidecar.

Типичные ошибки

Ловушки Аутентификация: HTTP Basic поверх HTTP (credentials в открытом виде — всегда HTTPS); htpasswd-файлы в git ("internal only"); JWT-верификация через regex в nginx (пожалуйста, нет); неверно защищены /.well-known/ пути (admin-эндпойнты утекают).

Связанные понятия

Полезные ресурсы