Возможно, вы никогда не задумывались над тем, что Auth Basic, но вы определенно с ним сталкивались при заходе в настройки роутера. Именно так называют механизм авторизации по имени пользователя и паролю на уровне веб-сервера. Такая авторизация поддерживается и в Apache и в Nginx. В этой инструкции предлагаем рассмотреть такой вопрос, как настроить Auth Basic для конкретного маршрута или определенного сайта.
Так выглядит окно авторизации Auth Basic:
Теперь вы должны понимать, о чем пойдет речь в этой инструкции. Возможна настройка авторизации для определённого URL, для всего сайта или для всех сайтов. Но в первую очередь следует создать файл со списком пользователей и паролей. С этой целью мы будем использовать утилиту htpasswd. Синтаксис у команды такой:
$ sudo htpasswd -c /путь/к/файлу имя_пользователя
В этом случае опция -c используется для создания нового файла, для редактирования ранее созданных файлов пользоваться ей не нужно. К примеру:
$ sudo htpasswd -c /etc/nginx/auth.basic admin
Программа сделает двойной запрос пароля. С целью безопасностью пароль не отображается, но он вводится. Как только вы создали такой файл, можно переходить непосредственно к настройке Nginx.
Для защиты паролем всех ресурсов необходимо добавить директиву в секцию http файла /etc/nginx/nginx.conf:
auth_basic "Restricted area";
auth_basic_user_file /etc/nginx/auth.basic;
Для защиты определенного адреса страницы (УРЛ) необходимо добавить директиву в соответствующий блок location. Это может быть /wp-admin/admin-ajax.php:
location /wp-admin/admin-ajax.php {
auth_basic "Restricted area";
auth_basic_user_file /etc/nginx/auth.basic;
}
Если сайт на Вордпресс, то размещать location лучше всего в location/. Будут работать все описанные правила, плюс обеспечена защита. Если же необходимо разрешить доступ для определённого location то директива будут выглядеть так auth_basic "off":
location /wp-admin/admin-ajax.php {
auth_basic "off";
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9002;
fastcgi_index index.php;
include /etc/nginx/fastcgi_params;
}
К блоку location необходимо будет добавить PHP-обработку, в противном случае пользователя будет предложена возможность скачать скрипт, к которому они обращаются.
Таким образом, настроить доступ в Nginx не составляет особого труда. Необходимо всего правильно настроить блок location.
Примените скидку, вставив промокод в специальное поле при оформлении заказа:
Примените скидку, вставив промокод в специальное поле при оформлении заказа: