HTTP авторизация для nginx

Задача возникла в контексте SEO, требовалось предотвратить индексацию тестовых сайтов поисковыми системами. На практике видно, что инструкции файла robots.txt выполняются поисковыми машинами не так, как ожидается. Т.е. при некоторых условиях страницы тестового сайта все равно попадают в поисковую выдачу.

Поэтому требуется более серьезный барьер, а именно блокировка контента. С этой целью можно использовать HTTP auth функцию веб сервера.

На деле это не сложная операция. Разберем её по шагам.

Формирование реквизитов

Для начала мы создадим файл, где будут храниться реквизиты для авторизации при подключении к сайту. Формируются он с помощью утилиты htpasswd.

Вместо USERNAME укажите имя пользователя (может быть произвольное, не связанное с UNIX имя), используемое для авторизации. Утилита потребует дважды ввести пароль. Файл с реквизитами мы создаём в каталоге с настройками nginx, которые обычно находятся в /etc/nginx.

Настройки сервера

Теперь нужно указать nginx, что требуется использовать http аутентификацию и показать, где находятся реквизиты. Инструкции должны быть вставлены в соответствующую секцию server { … } или location.

После auth_basic нужно указать произвольную строку или переменную, смысл которой не ясен (я полагаю, что любое значение приводимое к логической единице), или специальное значение off, которое отключает действие модуля авторизации при наследовании параметров в текущей секции конфигурации.

Проверка / применение новых настроек

С настройка мы закончили на этом этапе, остаётся проверить и применить их для запущенного сервера.

Для этого используйте штатные команды:

В результате вы должны получать запрос на авторизацию при заходе на ваш сервер (или его определенные страницы):

При отказе от авторизации сервер будет возвращать 401-ю ошибку: Authorization Required.

Написать комментарий

Мало букафф? Читайте есчо !

Проверка конфигурации nginx

Апрель 16, 2018 г.

Nginx не читает конфиги на лету, и их можно спокойно править на действующем сервере. Когда правки закончены, хотелось бы убедиться, что по крайней мере синтаксис команд верен и сервер запустится с новыми настройками. Для этого в nginx встроен валидатор ...

Читать

Переадресация сайта с www и без www

Январь 26, 2017 г.

Издревле ломают голову сеошники над вопросом. Вопрос ставиться по-гамлетовски : с www или без www? "Быть или не быть, вот в чем вопрос". Быть или ...

Читать

 

Комментарии к «HTTP авторизация для nginx»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: