Я использую magento на сервере nginx. Я решил заблокировать папку, полную файлов .php, используя auth_basic и файл htpasswd. Без аутентификации php-страницы работают нормально. Но после принудительной аутентификации, когда я перехожу на страницу, я получаю приглашение для входа в систему (что хорошо), я вхожу в систему, а затем браузер пытается загрузить файл php. Он отказывается сделать это. Это для нескольких браузеров (Chrome, Firefox, Opera, т.е.). Любая идея, что мне нужно сделать, чтобы иметь возможность защитить его паролем, но все еще работает? Спасибо!
РЕДАКТИРОВАТЬ: настройки аутентификации файла .conf
location ~^ /FOLDER/ {
auth_basic "Restricted";
auth_basic_user_file /path/to/htpasswd/;
}
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;
}
}
Измените порт или конфигурацию на то, что у вас есть в другом месте вашей конфигурации. Есть и другой способ с именованными локациями, но я не думаю, что он вам здесь нужен.
Других решений пока нет …