- PR -

複数のWebサーバ間での連携

1
投稿者投稿内容
さにー
会議室デビュー日: 2004/10/12
投稿数: 3
投稿日時: 2004-10-12 21:05
ファイアウォールをはさんで、Webサーバを2台構築しています。
ファイアウォール内側に静的コンテンツをおき、外側URLを指定することでその内側コンテンツを参照できるよう連携を図ろうと考えています。
外側Webサーバは通常運用において管理外となるため、コンテンツの入れ替えを頻繁に行なうことができないためです。
(コンテンツのメンテナンスは内側サーバで行なう)
外側サーバのhttpd.confに手をいれるのではないかと予想しているのですが、
設定方法がわかりません。
お知恵をお貸しください。

環境は内外共に同じです。
RedHat9
apache2.0.52
コブラ
ぬし
会議室デビュー日: 2003/07/18
投稿数: 1038
お住まい・勤務地: 神奈川
投稿日時: 2004-10-13 13:53
<META HTTP-EQUIV="Refresh" CONTENT="0; URL=http://www.innner.pc/static.html">

こういう HTML タグとか

PHP, Perl で Location: ヘッダ使こて 外 -> 内 へ飛ばすとかは?
綾瀬
ぬし
会議室デビュー日: 2002/07/31
投稿数: 393
お住まい・勤務地: どっちも3階
投稿日時: 2004-10-13 14:27
こんにちは。

外側サーバのapacheでreverse proxyのような動きをさせたいということでしょうか。
それであればProxyPassあたりを調べてみてはいかがでしょうか。

(mod_writeでも出来ると思いますが、mod_proxyが必要なのは同じ?)
さにー
会議室デビュー日: 2004/10/12
投稿数: 3
投稿日時: 2004-10-14 11:51
コブラさん、綾瀬さん
ありがとうございます。
綾瀬さんが教えてくださった「リバースプロキシ」の方法を実行したところ
うまくいきました。

httpd.conf 最終行に追加しました。
<VirtualHost 192.168.6.117:80>
ServerName WebServer.xxx.co.jp
<IfModule mod_proxy.c>
ProxyRequests Off
ProxyPass /test/ http://192.168.6.116/test/
ProxyPassReverse /test/ http://192.168.6.116/test/
</IfModule>
</VirtualHost>

192.168.6.117 ファイアウォール外側マシンIPアドレス(公開サーバ)
192.168.6.116 ファイアウォール内側マシンIPアドレス(非公開サーバ)

RedHat9インストール時に指定したapacheには、
元々httpd.confには
LoadModule proxy_module modules/mod_proxy.so
が記述されており、VirtualHostの設定をするだけでOKでした。

ちなみに新規でapache2を入れる際に、それにあったmod_proxyは以下の手順で
作成します。
# ./configure --enable-so --enable-proxy=shared --enable-proxy_connect=shared
# make
これで modules/proxy/.libsにファイルが生成されます。
後はLoadModuleで指定した場所へコピーすればOKです。
1

スキルアップ/キャリアアップ(JOB@IT)