Рейтинг:0

Базовая аутентификация NGINX защищает только индекс, а не все файлы в расположении

флаг cn

Я хочу защитить все местоположение /setup, используя базовую аутентификацию. Однако я столкнулся со следующими двумя проблемами:

  1. При использовании location/setup только localhost/setup запрашивает учетные данные. Использование localhost/setup/mypage.php полностью обходит приглашение, или вы можете просто нажать «Отмена» при появлении запроса и по-прежнему видеть страницу.
  2. расположение ^~ /setup защищает все файлы в каталоге /setup, но A) это приводит к тому, что все файлы php обслуживаются как загруженный файл, и B) вызывает ошибку 403 для всех файлов, загруженных моим html. Я «исправил» A), добавив фрагменты php, но я не знаю, как решить B).

Цель: защитить папку /setup (и все файлы в ней) с помощью базовой аутентификации. После того, как пользователь вошел в систему, все содержимое, загруженное php/html (js, изображения и т. д.), также должно быть разрешено для загрузки.

Конфигурация

сервер {

        слушать 80;
        корень /var/www/html;
        индекс index.php index.html index.htm index.nginx-debian.html;
        имя_сервера локальный хост;

        место расположения / {
                try_files $uri $uri/ =404;
        }

        расположение ~ \.php$ {
                включить фрагменты/fastcgi-php.conf;
                fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
                fastcgi_read_timeout 60;
        }

         расположение ^~ /setup {
                отрицать все;
         }
}

сервер {
        слушать 443 ssl;
        ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
        ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;
        корень /var/www/html;
        индекс index.php index.html index.htm index.nginx-debian.html;
        имя_сервера локальный хост;

        расположение ^~ /setup {
                auth_basic "Контент с ограниченным доступом";
                auth_basic_user_file /etc/nginx/.htpasswd;

                включить фрагменты/fastcgi-php.conf;
                fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
                fastcgi_read_timeout 60;

        }

        расположение ~ \.php$ {
                включить фрагменты/fastcgi-php.conf;
                fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
                fastcgi_read_timeout 60;
        }

# местоположение ^~ / {
# вернуть 301 http://$http_host;
# #запретить все;
# }
}

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.