VirtualHostの設定

今のブログ(WordPress)のテーマが飽きてきたので、変えてみました。ちょっと見づらいけど・・・。

Apache2.2でバーチャルホストの設定を行っていて、あまりにも無知なおいらに愕然としたので、備忘録として残しておこう・・・というエントリです。

なお、このエントリいう、バーチャルホストは、ネームベースのバーチャルホストです。さらに、LAN内のテスト目的に設置するWebサーバーの事です。あしからず。

通常、バーチャルホストの設定は、以下のような感じかと思います。

 
NameVirtualHost *:80 
<virtualhost *:80>
  ServerName first.localdomain
  DocumentRoot /var/www/vhosts/first
</virtualhost>

<virtualhost *:80>
  ServerName second.localdomain
  DocumentRoot /var/www/vhosts/second
</virtualhost>

のような感じかなと。

そうすることで、http://first.localdomain/ とか、http://second.localdomain/ とかでアクセスできるようになりますよね。

ここで、httpsでもアクセスできるようしたい場合・・・HTTPSリクエストを処理できるように設定をした上で、さきほどの設定にNameVirtualHost *:443 を追加して、<VirtualHost *:80> を、<VirtualHost *:80 *:443>と書けば済む話だったんですね・・・。

 
NameVirtualHost *:80
NameVirtualHost *:443

&lt;virtualhost *:80 *:443&gt;
  ServerName first.localdomain
  DocumentRoot /var/www/vhosts/first
&lt;/virtualhost&gt;

&lt;virtualhost *:80 *:443&gt;
  ServerName second.localdomain
  DocumentRoot /var/www/vhosts/second
&lt;/virtualhost&gt;

ドキュメントをよく読めばすぐ解決するものを・・・しかも、:80を省略したら、httpdの起動時にエラーになるし・・・。気付くの遅くてApacheの設定にまる一日かかっちゃったよ。。。(ーー;;;

やっぱり、ドキュメントはちゃんと読まないとダメですね・・・。
で・・・バーチャルホストの設定をいろいろやってたら・・・

自分だけが知っている秘密のホスト名をつけたバーチャルホストを定義すれば、公開しているWebサーバーと同じサーバー上に秘密の?Webサーバーを同時に立てられるな・・・と気がつきました。気付くの遅すぎ(笑)

隠したければ、BASIC認証なりDigest認証なりでパスワードでロックすれば済む話ですが、存在自体をなるべく隠したいといった場合は使えるかもしれませんね。。。もちろん、クライアント側には、hostsファイルなどでIPアドレスと名前を登録しなければいけませんが・・・。仲間内だけでWebサーバーを公開したいといった場合は便利かも・・・。