大量の VirtualHosts の提供に問題があり、より効率的な方法があるかどうか疑問に思っていました。
現在、Location ディレクティブを使用して、さまざまな部門からの大量のプロジェクトにサービスを提供しています。合計 19 の部門から 300 以上のプロジェクトがあります。構造は、ファイルが提供されるディレクトリを除いて、すべての Location ディレクティブで同じです。私が現在持っているのは、次のような大きなファイルです。
<VirtualHost *>
ServerName www.myserver.com
<Location /departmentA/project1>
AuthType Basic
AuthName "By Invitation Only"
AuthUserFile /usr/local/departmentA/project1/passwords
Require valid-user
</Location>
<Location /departmentA/project2>
AuthType Basic
AuthName "By Invitation Only"
AuthUserFile /usr/local/departmentA/project2/passwords
Require valid-user
</Location>
<Location /departmentB/project1>
AuthType Basic
AuthName "By Invitation Only"
AuthUserFile /usr/local/departmentA/project1/passwords
Require valid-user
</Location>
</VirtualHost>
ご覧のとおり、これらの構造はパスを除いてすべて同じです。私が望むのはもちろん、部門名とプロジェクト名に変数を使用し、単一の Location ディレクティブを維持できるものです。これにより、サーバーとメモリへの負荷も軽減されると思います。
<VirtualHost *>
ServerName www.myserver.com
<Location /$1/$2>
AuthType Basic
AuthName "By Invitation Only"
AuthUserFile /usr/local/$1/$2/passwords
Require valid-user
</Location>
</VirtualHost>