@alexmixaylov

Почему не получается включить в nginx авторизацию на уровне сервера?

Помогите пожалуйста, никак не получается запретить доступ к одному адресу на сайте
целый день провозился пробовал разные способы, уже голова кипит, но ничего не получается
на сайте, в корне есть папка /utils
в ней лежит скрипт add-foto.php
и пару папок со статикой js css
что я только не делал, не получается
если такая конструкция., просто отдается файл пхп на скачку
location =/utils/add-foto.php {
        auth_basic "Hello, Менеджер";
        auth_basic_user_file htpasswd;
        }

так, белая страница, без ошибок
location ^~/utils/ {
        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
#       fastcgi_index add-foto.php;
        auth_basic "Hello, Менеджер";
        auth_basic_user_file htpasswd;
        }

кучу другого перепробовал, ничего не получается
  • Вопрос задан
  • 134 просмотра
Решения вопроса 1
@BorisKorobkov
Web developer
location =/utils/add-foto.php

1. Через пробел
2. Именно точное соответствие? А если после имени файла добавить любой параметр, то уже отдавать на скачивание без проверки?!
Итого location ^~ /utils/add-foto.php

3. Путь к htpasswd лучше указывать от корня

4. После проверки доступа все равно надо указывать обработчик php, иначе файл будет скачиваться.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы