- - PR -
複数のWebサーバ間での連携
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-10-12 21:05
ファイアウォールをはさんで、Webサーバを2台構築しています。
ファイアウォール内側に静的コンテンツをおき、外側URLを指定することでその内側コンテンツを参照できるよう連携を図ろうと考えています。 外側Webサーバは通常運用において管理外となるため、コンテンツの入れ替えを頻繁に行なうことができないためです。 (コンテンツのメンテナンスは内側サーバで行なう) 外側サーバのhttpd.confに手をいれるのではないかと予想しているのですが、 設定方法がわかりません。 お知恵をお貸しください。 環境は内外共に同じです。 RedHat9 apache2.0.52 |
|
投稿日時: 2004-10-13 13:53
<META HTTP-EQUIV="Refresh" CONTENT="0; URL=http://www.innner.pc/static.html">
こういう HTML タグとか PHP, Perl で Location: ヘッダ使こて 外 -> 内 へ飛ばすとかは? |
|
投稿日時: 2004-10-13 14:27
こんにちは。
外側サーバのapacheでreverse proxyのような動きをさせたいということでしょうか。 それであればProxyPassあたりを調べてみてはいかがでしょうか。 (mod_writeでも出来ると思いますが、mod_proxyが必要なのは同じ?) |
|
投稿日時: 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