nginx wordpress xmlrpc防止野蛮攻击

nginx wordpress xmlrpc防止野蛮攻击,wordpress,nginx,url-rewriting,Wordpress,Nginx,Url Rewriting,我希望我的xmlrpc.php只能由wordpress jetpack访问,并将404发送给其他任何人 我试过了 location ~ /xmlrpc.php { if ($http_user_agent !~* ".*jetpack.*") { return 403; } } 当我尝试从wordpress.com连接我的站点时,仍然出现错误 2017/04/16 09:28:39 [error] 24200#24200: *1453 acces

我希望我的xmlrpc.php只能由wordpress jetpack访问,并将404发送给其他任何人

我试过了

location ~ /xmlrpc.php {
      if ($http_user_agent !~* ".*jetpack.*") {
            return 403;
      }
}
当我尝试从wordpress.com连接我的站点时,仍然出现错误

2017/04/16 09:28:39 [error] 24200#24200: *1453 access forbidden by rule, client: 162.158.69.63, server: example.com, request: "POST /xmlrpc.php?for=jetpack&token=4xm%28

如果$request\u uri不包含“jetpack”,那么如何创建重定向规则,然后返回404?

我想你只是做了一个小的,嗯。。我们称之为打字错误。您正在使用
$http\u user\u agent
尝试检查
用户代理
,但您需要使用的是
$request\u uri
或(如您特别要求的)
$query\u string

所以xmlrpc位置的Conf在这里可以很好地工作

    location ~ /xmlrpc.php {
        if ( $query_string !~* ".*jetpack.*" ) {
            return 404;
        }
    }