徒然なるままに

個人の備忘録を中心としたブログです

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
ProxyPassReverseによってリダイレクトのURLを置換することができるようになりましたが、
ページに埋め込まれたリンクまでは置換することが出来ません。

ページに埋め込まれたリンクのURLを変更、置換するには「mod_proxy_html」というサードパーティーのApacheモジュールが必要となります。

例えばappserver.example.comが内部のサーバ、www.example.comがフロントサーバであり、内部サーバはhttp://www.example.com/appserverでアクセスされるとします。

http://appserver.example.com/foo/bar.htmlで自分へのリンクを<a href="http://appserver.example.com/foo/bar.html">foobar</a>
で貼っていたとすると、これはappserver.example.comへのプロキシサーバを介さない直接のアクセスになってしまいます。


しかし、mod_proxy_htmlモジュールが有効になっていれば上のリンクは
<a href="http://www.example.com/appserver/foo/bar.html">foobar</a>
のように変更されるというわけです。


では、mod_proxy_htmlのインストール方法について。
1.libxml2が必要になるので、インストールされていないならこちらを先にインストール。
インストール方法はページの最下部に書きます。
/usr/include/libxml2にインストールしたとします。

2.http://apache.webthing.com/mod_proxy_html/からページ下部、Availabilityの項目から
単体のソースではなくbundled Versionを落としてきます。mod_proxy_htmlは、mod_xml2encも必要とするからです。

3.目的のファイルを解凍したら、
sudo /usr/local/apache/bin/apxs -c -I/usr/include/libxml2 -I. -i -a mod_proxy_html.c
sudo /usr/local/apache/bin/apxs -c -I/usr/include/libxml2 -I. -i -a mod_xml2enc.c


-Iは-c(コンパイル)オプションのライブラリ指定です。-I.は同じフォルダ内の.hファイルを参照しています。
-iはインストール、-aはhttpd.confへの自動追加。

4./usr/local/apache/conf/httpd.confの設定
LoadModule proxy_html_module modules/mod_proxy_html.so
LoadModule xml2enc_module modules/mod_xml2enc.so
この二行が自動で追加されていると思うので。この二行の上に
LoadFile  /usr/lib/libxml2.so

を付け加えてください。

5.apachectl -MでSyntax OKがでれば設定完了。

-------------------------------------------------------------------------------------
1.Libxml2のインストール
ftp://xmlsoft.org/libxml2/からlibxml2-2.9.0.tar.gzを落としてくる。

落としたファイルを
tar xzvf libxml2-2.9.0.tar.gz

で解凍し、
./configure --prefix=/usr

--prefixはインストール先の指定です。この場合/usr/include/libxml2にインストールされます。

make
sudo make install

でインストール完了。

コメント

コメントの投稿

管理者にだけ表示を許可する

トラックバック

http://kamiyasu2.blog.fc2.com/tb.php/18-0d53d8b8

kamiyasu

Author:kamiyasu

QR

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。