我似乎最终得到了包含行try_files false @phpfpm;
的工作代码。这可能不是很好!?
我正试图限制对WordPress登录页面的限制。由于Nginx(功能非常强大)的位置块,我需要两个位置块(我认为),因此使用了命名位置块,因此我不必多次定义所有PHP-FPM内容。
问题似乎是named location blocks can be reached only via error_page, post_action & try_files。所以我有这个奇怪的登录配置。
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;
}
生产可以吗?
我觉得我错过了什么?