Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 多次调用Nginx命名位置_Php_Wordpress_Nginx - Fatal编程技术网

Php 多次调用Nginx命名位置

Php 多次调用Nginx命名位置,php,wordpress,nginx,Php,Wordpress,Nginx,我似乎已经结束了工作代码,其中包括行try_files false@phpfpm这不太好,是吗 我正在尝试对WordPress登录页面的呼叫进行限制。由于Nginx(功能强大得惊人)的位置块,我需要两个位置块(我想),因此我使用了一个命名的位置块,所以我不必多次定义所有PHP-FPM内容 问题似乎是这样的。所以我有一个奇怪的登录配置 location @phpfpm { fastcgi_split_path_info ^(.+?\.php)(/.*)$; include fa

我似乎已经结束了工作代码,其中包括行
try_files false@phpfpm这不太好,是吗

我正在尝试对WordPress登录页面的呼叫进行限制。由于Nginx(功能强大得惊人)的位置块,我需要两个位置块(我想),因此我使用了一个命名的位置块,所以我不必多次定义所有PHP-FPM内容

问题似乎是这样的。所以我有一个奇怪的登录配置

  location @phpfpm {
    fastcgi_split_path_info ^(.+?\.php)(/.*)$;
    include fastcgi_params;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_pass unix:/var/run/php5-fpm-sitexxx.sock;
  }

  location ~ ^/(wp-login|wp-comments-post|xmlrpc)\.php$ {
    limit_req zone=perip burst=5 nodelay;
    try_files false @phpfpm;
  }

  location ~ [^/]\.php(/|$) {
    try_files false @phpfpm;
  }
这可以生产吗


我觉得我遗漏了什么?

您是否考虑过使用
include
指令将常用代码移动到单独的文件中?@RichardSmith是的,我在该配置的其他地方多次使用include。您是否建议我将
@phpfpm
块放在一个单独的文件中,然后从位置块中包含它两次?有趣的是,我已经有了200多个站点配置文件,因此将产生400多个文件:-/那么,
limit\u-req
位真的有效吗?因为最终可能会跨位置块复制fastcgi代码。
limit\u req
工作得很好,事实上整个配置工作得很好,只是感觉非常笨拙。通过使用
try_files false
我有效地要求Nginx检查名为
false
的文件,并仅在该文件不存在时才将请求传递给
@phpfpm
。我见过类似的黑客使用
try_files@phpfpm@phpfpm
,这可能是在寻找一个名为@phpfpm的文件。我在某个地方读到,
error\u第418页
方法被认为是更有效的技术。您是否考虑过使用
include
指令将公共代码移动到单独的文件中?@RichardSmith是的,我在该配置的其他地方多次使用include。您是否建议我将
@phpfpm
块放在一个单独的文件中,然后从位置块中包含它两次?有趣的是,我已经有了200多个站点配置文件,因此将产生400多个文件:-/那么,
limit\u-req
位真的有效吗?因为最终可能会跨位置块复制fastcgi代码。
limit\u req
工作得很好,事实上整个配置工作得很好,只是感觉非常笨拙。通过使用
try_files false
我有效地要求Nginx检查名为
false
的文件,并仅在该文件不存在时才将请求传递给
@phpfpm
。我见过类似的黑客使用
try_files@phpfpm@phpfpm
,这可能是在寻找一个名为@phpfpm的文件。我在某个地方读到,
错误\u第418页
方法被认为是更有效的技术。