Yas*_*ash 2 php apache proxy fastcgi centos7
我相信这是一个在某处被问过的问题,如果是这样的话,请原谅,但是谷歌搜索并没有给我任何有形的东西。
这是我的场景:
我正在使用 apache http 基本身份验证保护 Web 目录。所以我在根文件夹中有我的 .htaccess 并且我的 httpd.conf 被配置为覆盖所有,以便它考虑 .htaccess 。我的.htaccess的内容如下:
AuthType 基本
身份验证名称“测试”
AuthUserFile /etc/httpd/.test_pass
需要有效用户
.test_pass 已经通过 htpasswd 设置成功。通过浏览器或任何 html 文件访问 Web 根文件夹时,我会正确弹出身份验证。使用密码为我提供了预期的访问权限。
但是当我访问一个 php 页面时,没有出现身份验证弹出窗口并且呈现 php 页面。
这是我的设置:
我需要能够通过 apache 基本身份验证设置用户名/密码身份验证,以保护目录中的每个文件,包括 php 文件。
我正在使用开源软件;因此修改软件代码是最后的手段。
php-fpm 和 mod_proxy_fcgi 有变通方法/解决方案吗?
谢谢
经过数小时的研究,我了解到发生这种情况的原因是因为 ProxyPassMatch 指令是要处理的第一个指令,这导致 apache 忽略 .php 扩展名的其他指令。
为了能够通过proxy_fcgi_module 在php-fpm 中使用其他apache 指令,应该使用filesmatch 指令而不是proxypassmatch。
语法如下:
<FilesMatch \.php$>
SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)