Настройка авторизации в Nginx
nginx/1.14.0
Авторизация средствами http протокола.
Таким способом можно закрыть доступ к определенным разделам на сайте.
HTTP Basic Authentication
Nginx должен быть собран с модулем ngx_http_auth_basic_module.
Настройка
Создаем новый файл с пользователями:
htpasswd -c /etc/nginx/auth/passwd.txt USERNAME
Для добавления:
htpasswd /etc/nginx/auth/passwd.txt NEWUSERNAME
Ключи:
- -с – создать новый файл
Утилита htpasswd в составе пакета apache2-utils
Пример
server section
server { ... location /admin { satisfy any; auth_basic "admin site"; auth_basic_user_file /etc/nginx/auth/passwd.txt; } }
- satisfy – Разрешает доступ, если все (all) или хотя бы один (any) из модулей ngx_http_access_module, ngx_http_auth_basic_module, ngx_http_auth_request_module или ngx_http_auth_jwt_module разрешают доступ.
- auth_basic – текстовое сообщение при авторизации
- auth_basic_user_file – полный путь к файлу с паролями
HTTP Digest Authentication
Nginx из коробки не поддерживает digest авторизацию.
Необходимо самому собрать модуль ngx_http_auth_basic_module.
Обсуждение