Category:
Linux
以前書いた記事の構成が、某運用環境で採用されることになりました。
再掲すると、
これを応用すれば、SNI を使わなくても、ワイルドカード SSL を使って複数の VirtualHost を 1 つの IP アドレスでホストすることができますね(同じドメイン配下のサイトであれば)。
*
追記: これだと DirectorySlash でダメなケースがありますね。後日追記します。
再掲すると、
UserDir public_htmlというように、VirtualHost コンテキストを使わずに自前で HTTP_HOST を読んで、UserDir に rewrite してしまえば、
RewriteEngine on
RewriteMap vhostusers txt:/path/to/vhostusers.txt
RewriteCond ${vhostusers:%{HTTP_HOST}} .+
RewriteRule ^/(.*)$ /~%0/$1 [PT,NS]
- バーチャルホストがたくさんある環境でも設定は 1 個で済む (マッピングファイルとして外部化できる)
- サブドメインを増やすのに Apache の再起動が不要 (マッピングを書き換えれば瞬時に反映される)
- しかも、サブドメインごとに CGI などの実行権限を切り替えられる (UserDir だから suEXEC できる)
# Subdomain User Nameのように書くことができます。
www.example.com user001
first.example.com user001
second.example.com user002
third.example.com user003
これを応用すれば、SNI を使わなくても、ワイルドカード SSL を使って複数の VirtualHost を 1 つの IP アドレスでホストすることができますね(同じドメイン配下のサイトであれば)。
*
追記: これだと DirectorySlash でダメなケースがありますね。後日追記します。
Comments