Защита служебных директорий при помощи базовой авторизации сервера Nginx
Posted: Sat Mar 30, 2019 5:49 pm
Доброго времени суток!
Проблема следующего характера:
Стало необходимым реализовать защитный доступ к служебным папкам сайта путём базовой авторизации на уровне сервера Nginx.
Делалось все по рабочей инструкции: https://modhost.pro/help/nginx. Метод действительно рабочий, читал соответствующие форумы.
В кратце о его работе: при обращении в браузере к служебным файлам, например: админка - https://site.ru/manager, сервер дополнительно начинает запрашивать логин и пароль пользователя, указанный в файле .htpasswd, после авторизации становится доступным обычный вход в админ панель, где необходимо ввести уже логин и пароль от админки сайта.
В моем случае сервер откатывает данные и стартует с базовым конфигом. Применять отказывается.
Моя конфигурация nginx+php-fpm+VestaCP. Вношу эти изменения в шаблон modx.tpl (т.к. сайт на MODX Revo), именно он в моём понимании отвечает за блок server.
В файле .htpasswd прописываю захешированный пароль согласно сервиса http://www.htaccesstools.com/htpasswd-generator/:
логин:$apr1$pCRaZDgh$B4v1ENPbaSm5jb......... .
Размещаю его: /home/логин/.htpasswd
Но видимо даже до его сверки не доходит сценарий. Может быть надо еще что-то сделать на VestaCP? У остальных то работает все без проблем, и на голом Nginx без панели тоже.
Правильно ли я редактирую шаблон modx.tpl, если мне нужны изменения в блоке server? Пробовал редактировать modx.stpl, но нет смысла, он подхватывает только .tpl шаблон, видимо потому что, код применения SSL сертификата лежит в nginx.conf.
Жду помощи от команды VestaCP, возможно решение проблемы лежит на поверхности, но я уже обезсилил его искать.
Если необходимы какие данные, предоставлю что смогу.
Проблема следующего характера:
Стало необходимым реализовать защитный доступ к служебным папкам сайта путём базовой авторизации на уровне сервера Nginx.
Делалось все по рабочей инструкции: https://modhost.pro/help/nginx. Метод действительно рабочий, читал соответствующие форумы.
В кратце о его работе: при обращении в браузере к служебным файлам, например: админка - https://site.ru/manager, сервер дополнительно начинает запрашивать логин и пароль пользователя, указанный в файле .htpasswd, после авторизации становится доступным обычный вход в админ панель, где необходимо ввести уже логин и пароль от админки сайта.
Code: Select all
server {
location ~* ^/(manager|core|connectors)/ {
auth_basic "Restricted Access";
auth_basic_user_file /home/логин/.htpasswd;
try_files $uri $uri/ @rewrite;
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass backend-логин;
}
}
}
Моя конфигурация nginx+php-fpm+VestaCP. Вношу эти изменения в шаблон modx.tpl (т.к. сайт на MODX Revo), именно он в моём понимании отвечает за блок server.
В файле .htpasswd прописываю захешированный пароль согласно сервиса http://www.htaccesstools.com/htpasswd-generator/:
логин:$apr1$pCRaZDgh$B4v1ENPbaSm5jb......... .
Размещаю его: /home/логин/.htpasswd
Но видимо даже до его сверки не доходит сценарий. Может быть надо еще что-то сделать на VestaCP? У остальных то работает все без проблем, и на голом Nginx без панели тоже.
Правильно ли я редактирую шаблон modx.tpl, если мне нужны изменения в блоке server? Пробовал редактировать modx.stpl, но нет смысла, он подхватывает только .tpl шаблон, видимо потому что, код применения SSL сертификата лежит в nginx.conf.
Жду помощи от команды VestaCP, возможно решение проблемы лежит на поверхности, но я уже обезсилил его искать.
Если необходимы какие данные, предоставлю что смогу.