web-dev-qa-db-ja.com

Nginxは、ロケーションブロックが期待どおりに機能しないことをすべて拒否します

私はnginxでwordpressブログを設定しています。これを見続けます

80.82.64.220 - - [10/Nov/2016:08:21:48 +0000] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)"

1秒に1回のリクエストです。そこで、nginxconfファイルを介してxmlrpc.phpへのアクセスを拒否しようとしました。

 location /xmlrpc.php {
    deny all;
    access_log off;
 }

アクセスファイルを調整すると、まだアクセスされていることがわかります。理由はわかりません。ランダムなパラメータを使用して開発マシンからcurlを試してみると、xmlファイルが取得されます。なぜxmlファイルを取得するのかわかりません。

すべてのリクエストが同じサーバーからのものであることに気付きました。だから私はIPをブロックしようと思うので私はします

Sudo ufw deny from 80.82.64.220

ステータスを確認すると、ルールが追加されていることがわかります。アクセスファイルを調整しましたが、ファイルがアクセスされていることがわかります。

アクセスログファイルを含むファイアウォールとnginx構成ファイルのすべての変更は、実際のサーバーにあります。このサーバーは、nginxリバースプロキシの背後にあります。リバースプロキシのアクセスログにはこのアクセスログがないので、メインサーバーに直接アクセスしていると思います。

しかし、ファイルはまだどのようにアクセスされていますか?

1
nupac

ロケーションブロックは、/xmlrpc.phpリクエストを処理しないため、機能しません。詳細については、 このドキュメント を参照してください。

^~修飾子または=構文を使用して、ロケーションブロックの優先順位を上げます(詳細については、 このドキュメント を参照してください)。

location = /xmlrpc.php { ... }
2
Richard Smith