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页
方法被认为是更有效的技术。