かなりの間(1か月以上)、Apacheログに次のような行が表示されます。
180.76.15.138 - - [24/Jun/2015:16:13:34 -0400] "GET /manual/de/mod/module-dict.html HTTP/1.1" 403 396 "-" "Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)"
180.76.15.159 - - [24/Jun/2015:16:28:34 -0400] "GET /manual/es/mod/mod_cache_disk.html HTTP/1.1" 403 399 "-" "Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)"
66.249.75.86 - - [24/Jun/2015:16:18:01 -0400] "GET /manual/es/programs/apachectl.html HTTP/1.1" 403 436 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
[Wed Jun 24 16:13:34.430884 2015] [access_compat:error] [pid 5059] [client 180.76.15.138:58811] AH01797: client denied by server configuration: /usr/share/doc/Apache2-doc/manual/de/mod/module-dict.html
[Wed Jun 24 16:18:01.037146 2015] [access_compat:error] [pid 2791] [client 66.249.75.86:56362] AH01797: client denied by server configuration: /usr/share/doc/Apache2-doc/manual/es/programs/apachectl.html
[Wed Jun 24 16:28:34.461298 2015] [access_compat:error] [pid 2791] [client 180.76.15.159:25833] AH01797: client denied by server configuration: /usr/share/doc/Apache2-doc/manual/es/mod/mod_cache_disk.html
リクエストは実際にはBaiduspiderとGooglebotから送信されているようです(説明されているようにリバースDNSを使用して確認 here ):
user@server:~$ Host 66.249.75.86
86.75.249.66.in-addr.arpa domain name pointer crawl-66-249-75-86.googlebot.com.
user@server:~$ Host crawl-66-249-75-86.googlebot.com
crawl-66-249-75-86.googlebot.com has address 66.249.75.86
this や this など、このトピックに関する同様の質問を読みましたが、これらのエラーにより、実際にはサイトが正しく機能していません。代わりに、ボットがアクセスしようとするHTMLページは存在しないため、これはApacheの予想される動作です。 Google Webmaster Toolsにはエラーが表示されませんが、Googleのサイトのインデックス作成が遅いようです。
次の仮想ホスト構成でApacheバージョン2.4.7を使用しています。
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot "/var/www/example.com/public"
<Directory />
Options None
AllowOverride None
Order Deny,Allow
Deny from all
Require all denied
</Directory>
<Directory "/var/www/example.com/public">
Options None
AllowOverride FileInfo Limit Options=FollowSymLinks
Order Allow,Deny
Allow from all
Require all granted
</Directory>
ErrorLog /var/log/Apache2/example.com/error.log
CustomLog /var/log/Apache2/example.com/access.log combined
</VirtualHost>
したがって、私の質問は次のとおりです。
GET /manual/de/mod/...
にマッピングされます/usr/share/doc/Apache2-doc/manual/de/mod/...
一方、私の理解では、彼らは/var/www/example.com/public/manual/de/mod/...
?時間が経てないので、これまでの研究で自分の質問に(部分的に)答えることにしました。
/manual/...
のURLは/usr/share/doc/Apache2-doc/manual/...
にマッピングされます。ドキュメントへのアクセスを簡単にするために、エイリアスはそうだと思います。私の場合、これは必要ないので、a2disconf Apache2-doc
の後にservice Apache2 reload
を発行して、エイリアスを削除することにしました。2.2では、クライアントのホスト名、IPアドレス、およびクライアント要求の他の特性に基づくアクセス制御は、Order、Allow、Deny、およびSatisfyの各ディレクティブを使用して行われました。
2.4では、このようなアクセス制御は、新しいモジュールmod_authz_Hostを使用して、他の認証チェックと同じ方法で行われます。 古いアクセス制御イディオムは置き換える必要があります 新しい認証メカニズムにより、古い構成との互換性のために、新しいモジュールmod_access_compatが提供されています。
新しい Require ディレクティブをすでに設定しているようですので、廃止されたアクセスディレクティブを削除してSudo service Apache2 reload