php-fpm 状态页面返回 404

php-fpm 状态页面返回 404

(我已阅读并采纳了这些建议这里- 它没有解决我的问题)。

我正在尝试读取 Ubuntu 20.04 LTS 上的 PHP-FPM 状态页面。这是使用打包的 PHP/PHP-FPM (7.4.3) 和 nginx (1.18.0)

在 /etc/php/7.4/fpm/pool.d/www.conf 中,我取消了该行的注释:

pm.status_path = /status

(并重新启动 php7.4-fpm)。在我的默认服务器配置中,我添加了:

        
        location /status {
                allow 10.0.0.0/8;
                allow 127.0.0.1;
                deny all;
                # include snippets/fastcgi-php.conf;
                include fastcgi_params;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        }

(并重新加载 nginx。注释掉的条目与我在其他地方使用的 fcgi 配置略有不同 - 它也不起作用)。我也尝试在try_files $uri $uri/ =404;位置块中添加 - 行为没有变化。我从一个允许的地址连接 - 注释掉允许/拒绝行对行为没有影响:

  • 访问 http://$MYSERVER/status 将返回 404
  • 在文档根目录中添加名为 status 的目录会导致 403(不允许目录列表)。
  • 如果我将 PHP 脚本放在 $DOCROOT/status/ 中,当我在浏览器中输入其 URL 时,该脚本就会执行 - 因此请求会被传递给 PHP-FPM。

/var/log/php7.4-fpm.log 和 /var/log/nginx/error.log 中均未报告任何内容。 access.log 仅报告 403/404 状态。

看起来 php-fpm 根本没有拦截请求,而是将其交给了 PHP。

我也尝试过使用不同的字符串作为 pm.status_path。结果相同。

我如何才能获得进一步的见解/解决这个问题?

相关内容