バーチャルドメイン時のserver-statusの設定 – Apache mod_status VirtualDomain

 VPSでApacheサーバを使っていると、ネームバーチャルホストを使うことは多々あると思う(ServersMan@VPSのように無料でグローバルIPが複数取れるなら良いけど、普通のVPSはIP1個が普通)
 また、cactiとかの監視ツールでApacheの状況を確認するのも良くあることで、通常は、Apacheのmod_statusを使って監視することになる。
 通常、httpd.confのLocation /server-statusでハンドラーに接続するんだけど、バーチャルホストの第一候補ホストでmod_rewriteを使ってコントローラ制御をしたりしている場合、Locationに先行してmod_rewriteが走って、404 not foundになってしまう(こういう細工がない場合は、正常に繋がる)
 ServerName localhostのバーチャルホストを作れば、localhost宛の監視を受け入れられるので、監視専用のバーチャルホストを作る。
 また、監視機構がHostヘッダを使ってくれない可能性があるんで、localhostバーチャルホストは一番最初に定義する(ネームバーチャルで、一致するサーバネームがない場合、一番最初に定義されたバーチャルホストにマップされる)

<VirtualHost *:80>
ServerName localhost
DocumentRoot /var/www/html
<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Location>
</VirtualHost>

(403)


カテゴリー: サーバ設定   パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です