Apache 仮想ホストの許可はサーバーの許可を上書きしない

Apache 仮想ホストの許可はサーバーの許可を上書きしない

私はApache 2.4を実行しており、ApacheのWebサイトで見つけたドキュメントによると(参照: http://httpd.apache.org/docs/current/sections.html) の「セクションのマージ方法」セクションでは、仮想ホスト構成がサーバー構成をオーバーライドする必要があることが述べられています。

「順序拒否、許可」ロジックを使用して重要な WordPress ファイルへのパブリック アクセスを防ぐためのファイル マッチ サーバー構成正規表現があります。

<FilesMatch "wp-login\.php|xmlrpc\.php|admin-ajax\.php">
   Include conf/global_acl.conf
</FilesMatch>

次に、仮想ホストの下に、WordPress プラグインを有効にするために特定のファイルへの特定のアクセスを許可する別のファイルマッチがあります。

<FilesMatch "^(xmlrpc|wp-trackback)\.php$">
   Order Deny,Allow
   Allow from wordpress.com
   Allow from 123.123.123.123
</FilesMatch>

私の目標は、サーバー構成の許可プロセスを仮想ホストに継承させ、追加の許可ディレクティブを仮想ホストで解析させることです。うまくいかないようです。xmlrpc ファイルを削除してサーバー レベルを変更すると、仮想ホストは機能します。

編集

混乱を解消するために、私の問題は、仮想ホストでは、IP 123.123.123.123 を使用しているにもかかわらず拒否されることです。サーバー構成のホワイトリスト エントリが仮想ホストに継承されることを期待しています。次に、仮想ホスト構成で追加のホワイトリスト許可を設定します。サーバー構成の先頭に DENY FROM ALL があります。

何が起こっているのか何か分かりますか? よろしくお願いします!

答え1

2.4での変更点は、構文の置き換えです。許可する新しいすべて許可が必要および類似のもの。Apache アップグレード ドキュメントセクションアクセス制御

変更を避けるために使用できるcompatモジュールがあります。これを使用し、ステートメントOrder Deny,Allowがない場合に選択するとDeny、すべてのアクセスが許可されます(apache 互換: 注文)。

したがって、 を使用するかOrder Allow,Deny、 を追加しますDeny from all

関連情報