私の Apache 構成では、最初にファイルシステム全体へのアクセスを拒否します。
<Directory />
Require all denied
</Directory>
次に、各仮想ホストの構成で、無制限のアクセスを許可します。
<VirtualHost ...>
<Directory /var/www/example.com/>
Require all granted
</Directory>
</VirtualHost>
または、認証されたアクセスが必要です:
<VirtualHost ...>
<Directory /var/www/example.com/>
AuthType Basic
AuthName "example.com"
AuthUserFile htpasswd
Require valid-user
</Directory>
</VirtualHost>
Apache のドキュメントで次のことに気付きました。
ファイルシステムに存在するコンテンツの場合は、<Directory> と <Files> を使用します。<Location /> は例外で、サーバー全体に構成を適用する簡単な方法です。
そして<Location />
、特定の仮想ホストに対して認証されたアクセスを要求する方法として、次を使用することができるのではないかと考えました。
<VirtualHost ...>
<Location />
AuthType Basic
AuthName "example.com"
AuthUserFile htpasswd
Require valid-user
</Location>
</VirtualHost>
しかし、Apache のドキュメントには次のように記載されています。
これにより、一般的にディレクティブを推奨するべきではない<Location>
かどうか、特定の状況で特定の<Location />
ディレクティブをアクセスを許可する例外として使用できるかどうか、または言い換えれば、Apache<Location>
ディレクティブを安全に使用してアクセスを構成できるかどうか疑問に思いました。サーバーに?