nginx — файл php не будет отображаться после аутентификации htpasswd

Я использую magento на сервере nginx. Я решил заблокировать папку, полную файлов .php, используя auth_basic и файл htpasswd. Без аутентификации php-страницы работают нормально. Но после принудительной аутентификации, когда я перехожу на страницу, я получаю приглашение для входа в систему (что хорошо), я вхожу в систему, а затем браузер пытается загрузить файл php. Он отказывается сделать это. Это для нескольких браузеров (Chrome, Firefox, Opera, т.е.). Любая идея, что мне нужно сделать, чтобы иметь возможность защитить его паролем, но все еще работает? Спасибо!

РЕДАКТИРОВАТЬ: настройки аутентификации файла .conf

location ~^ /FOLDER/ {
auth_basic                   "Restricted";
auth_basic_user_file         /path/to/htpasswd/;
}

2

Решение

Nginx не будет «переходить» в другое место, поэтому вы должны добавить «прокси» в процесс интерпретатора php внутри вашего защищенного местоположения:

location ~^ /FOLDER {
auth_basic                   "Restricted";
auth_basic_user_file         /path/to/htpasswd/;
location ~ \.php$ {
fastcgi_pass   127.0.0.1:9000;
include        fastcgi.conf;
}
}

Измените порт или конфигурацию на то, что у вас есть в другом месте вашей конфигурации. Есть и другой способ с именованными локациями, но я не думаю, что он вам здесь нужен.

4

Другие решения

Других решений пока нет …