背景
ロードバランサの実験用にゲストOSのホスト名を入れたindex.htmlを
Hello, this is vm10.
といった感じで作っていたのですが、ゲストOSごとに書き換えずに済ませたいので Server-Side Includesを使う事にしました。
設定
mod_includeを参考にしました。CentOSの/etc/httpd/conf/httpd.confには
AddType text/html .shtml AddOutputFilter INCLUDES .shtmlは設定済みだったので、<Directory "/var/www/html">セクションのOptions行に
Options Indexes Includes FollowSymLinksのようにIncludesを追加し、DirectoryIndexの行に
DirectoryIndex index.html index.shtml index.html.varのようにindex.shtmlを追加しました。
そして、index.htmlをindex.shtmlに改名して
Hello, this is <!--#exec cmd="echo -n `hostname`"-->.のように変更しました。
最初は
Hello, this is <!--#echo var="SERVER_NAME"-->.にしたのですが、ロードバランサ経由だとリクエストURLのホスト名もしくはIPアドレスになってしまうのでだめでした。
次は
Hello, this is <!--#exec cmd="hostname"-->.としたのですが、ドットの前に改行が入ってしまうことが判明したので、echo -n `hostname`に変更しました。
0 件のコメント:
コメントを投稿