2017-06-25 8 views
0

私はユーザエージェントによって厄介なボットを禁止しようとしています。Nginxはユーザエージェントによってボットをブロックしません

server { 

    listen 80 default_server; 

    .... 

    if ($http_user_agent ~* (AhrefsBot)) { 
     return 444; 
    } 

カールによるチェック::私はnginxの設定のサーバー部分にこれを入れ

[[email protected] site_avaliable]# curl -I -H 'User-agent: Mozilla/5.0 (compatible; AhrefsBot/5.2; +http://ahrefs.com/robot/)' localhost/ 
curl: (52) Empty reply from server 

はので、私はチェック/var/log/nginx/access.logと私はいくつかの接続が444を見るが、別の接続は200になります!

51.255.65.78 - - [25/Jun/2017:15:47:36 +0300 - -] "GET /product/kovriki-avtomobilnie/volkswagen/?PAGEN_1=10 HTTP/1.1" 444 0 "-" "Mozilla/5.0 (compatible; AhrefsBot/5.2; +http://ahrefs.com/robot/)" 1498394856.155 
217.182.132.60 - - [25/Jun/2017:15:47:50 +0300 - 2.301] "GET /product/bryzgoviki/toyota/ HTTP/1.1" 200 14500 "-" "Mozilla/5.0 (compatible; AhrefsBot/5.2; +http://ahrefs.com/robot/)" 1498394870.955 

どうすれば可能ですか?

答えて

0

よろしくお願いします。 私はフォーマットをログnginxのために$のSERVER_NAMEと$ SERVER_ADDRを追加し、狡猾ボットは、サーバー名なしIPで接続されているのを見ました:

51.255.65.40 - _ *myip* - [25/Jun/2017:16:22:27 +0300 - 2.449] "GET /product/soyuz_96_2/mitsubishi/l200/ HTTP/1.1" 200 9974 "-" "Mozilla/5.0 (compatible; AhrefsBot/5.2; +http://ahrefs.com/robot/)" 1498396947.308 

ので、私はこれを追加し、ボットはもう

server { 
      listen *myip*:80; 
      server_name _; 
      return 403; 
     } 
を接続することはできません
関連する問題