Я уверен, что это вопрос, который где-то задавали, если так, извините, но поиск в Google не дал мне ничего осязаемого.
Вот мой сценарий:
Я защищаю веб-каталог с помощью apache http basic auth. Итак, у меня есть мой .htaccess в корневой папке, а мой httpd.conf настроен так, чтобы переопределить все, чтобы он учитывал .htaccess. Содержание моего .htaccess выглядит следующим образом:
AuthType Basic
AuthName "test"
AuthUserFile /etc/httpd/.test_pass
Требовать действительного пользователя
.test_pass успешно настроен с помощью htpasswd. При доступе к корневой веб-папке через браузер или любой HTML-файл я получаю правильное всплывающее окно аутентификации. Использование пароля дает мне ожидаемый доступ.
Но когда я обращаюсь к странице php, всплывающее окно аутентификации не появляется, и страница php отображается.
Вот моя установка:
- Версия Apache: 2.4.6
- php-fpm: PHP 5.4.16 (fpm-fcgi) с Zend Engine v2.4.0
- Использование proxypass из proxy_fcgi_module (shared) для связи между apache 2.4 и php-fpm
- Также я не использую сокетные соединения, потому что apache 2.4.6 его не поддерживает.
- Моя настройка proxypass выглядит следующим образом и работает очень хорошо: ProxyPassMatch ^ / (. .php (/.)?) $ Fcgi: //127.0.0.1: 9000 / var / www / html / $ 1
Мне нужно установить аутентификацию по имени пользователя и паролю через базовую аутентификацию apache, которая защищает все файлы, включая файлы php в каталоге.
Я использую программное обеспечение с открытым исходным кодом; поэтому изменение программных кодов - это самое последнее средство.
Есть ли решение для php-fpm и mod_proxy_fcgi?
Спасибо