当前位置: 首页 > 面试题库 >

Apache 2.4 + PHP-FPM和授权标头

锺离飞飙
2023-03-14
问题内容

简介: Apache 2.4的mod_proxy似乎没有将Authorization标头传递给PHP-FPM。有没有什么办法解决这一问题?

长版: 我正在使用Apache 2.4和PHP-
FPM运行服务器。我正在将APC用于操作码缓存和用户缓存。根据Internet的建议,我使用Apache
2.4的mod_proxy_fcgi将请求代理到FPM,如下所示:

ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/foo/bar/$1

设置工作正常,除了以下几点:APC捆绑的apc.php(用于监视APC的状态)不允许我登录(查看用户缓存条目时需要)。当我单击“用户缓存条目”以查看用户缓存时,它要求我登录,单击“登录”按钮将显示通常的HTTP登录表单,但是输入正确的登录名和密码不会成功。当使用mod_php而不是mod_proxy
+ php-fpm运行时,此功能可以完美运行。

经过一番谷歌搜索后,我发现其他人也遇到了同样的问题,并且发现这是因为Apache没有将Authorization
HTTP标头传递给外部FastCgi进程。不幸的是,我只找到了针对mod_fastcgi的修复程序,如下所示:

FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -pass-header Authorization

是否有与mod_proxy_fcgi一起使用的等效设置或某些解决方法?


问题答案:

Authorization通常出于“安全原因”,各种Apache模块将剥离标头。它们都有不同的晦涩设置,您可以调整它们以否决此行为,但是您需要确定到底是哪个模块引起的。

您可以通过通过env将标头直接传递给PHP来解决此问题:

SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1


 类似资料:
  • 摘要:Apache2.4的mod_代理似乎没有将授权头传递给PHP-FPM。有办法解决这个问题吗? 长版本:我正在运行一个带有Apache2.4和PHP-FPM的服务器。我将APC用于操作码缓存和用户缓存。根据互联网的建议,我使用Apache 2.4的mod_proxy_fcgi将请求代理给FPM,如下所示: 设置工作正常,除了一件事:APC的捆绑APC。用于监视APC状态的php不允许我登录(查

  • 我正在尝试使用Apache2.2和PHP-FPM mod_fcgi设置获得一个基本的CakePHP 2.4应用程序设置,我遇到了内部重定向问题,我似乎无法解决。 apache只有所需的模块加载和基本设置 PHP Fastcgi进程设置如下所示 使用默认的CakePHP 2.4分支,我得到以下错误 我已经尝试了几乎每一个建议和技巧,我可以找到的蛋糕重定向问题,但它似乎归结为php-fpm设置 我的重

  • 我想在机器上用docker设置一个完整的LNMP环境。但是分离的php fpm有一些问题 我所做的是: > 从docker.io拉取图像: docker pull php:7.1-fpm docker pull nginx 运行图像: docker run-d——名称php fpm-v/data/docker/php fpm/configs/:/usr/local/etc/php fpm。d-v/

  • PHP-FPM 是一个 PHP FastCGI 进程管理器。 FastCGI 是一个可伸缩的,高速地在web server和脚本语言间交互的接口。FastCGI的主要优点是把动态语言和web server分离开来。这种技术允许把web server和动态语言运行在不同的主机上,以大规模扩展和改进安全性而不损失生产效率。 PHP-FPM 可以和任何支持远端 FastCGI 的 web server 工作。

  • 我正在尝试从这个 API 调用中创建“UUID”,我正在使用 axios 和 vue.js。这是我的源代码。 但不幸的是,我得到了 在'访问XMLHttpRequesthttps://www.uuidtools.com/api/generate/v1'从原点'http://localhost:8080'已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“access c

  • 配置 Ubuntu服务器11.10 64位 亚马逊AWS,Ec2,云端托管 t1。微实例 在我写任何其他东西之前,我想声明我已经检查了nginx 502坏网关和nginx PHP-FPM 502坏网关线程,不幸的是,这在这方面对我没有帮助。 这个问题似乎很常见:nginx或php fpm的错误配置可能导致错误,这是我一直无法解决的问题。请注意,即使在我转到我的域根目录时,也会出现这种情况,而不指定