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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Как исправить ошибку upstream sent too big header while reading response header from upstream?

Январь 18, 2021 г.

Если текст подобной ошибки вы обнаружите в логах ngnix, то см. как её исправить в данной статье. Ошибка связана с недостаточным размером буфера для передачи заголовка запроса. Во-первых, надо разобраться что является в данном случае upstream-ом, ...

Читать

Если не работают ЧПУ для drupal под nginx...

Июль 16, 2014 г.

Арендовал у netangels "облачный VDS" и решил попробовать их образ Debian Wheezy Nginx + PHP (php-fpm). С Nginx дела до тех пор не имел, потому с некоторыми настройками пришлось разбираться с чистого листа. На самом деле, единственный вопрос, с ...

Читать

 

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

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



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