- ベストアンサー
Apache2 別のサーバのコンテンツを転送したい
お世話になります。 DynDNSを使ってLAN内のWEBサーバを公開しています。 公開は、ルータの設定でポート80をLAN内のWEBサーバAのローカルアドレスに転送しています。 今回、LAN内にもう一台WEBサーバBを構築し WEBサーバAの特定のURLは、WEBサーバBのコンテンツを表示したいのですが、こんなことは出来るのでしょうか? A: 192.168.1.11 B: 192.168.1.12 http://www.lalala.DynDNS.com/ → 192.168.1.11/ http://www.lalala.DynDNS.com/B/ → 192.168.1.11/B/ → 192.168.1.12/ PROXYのような動作をイメージしていたのですが、いざやってみようとすると出来るかどうかというところで、怪しくなってしまいました。 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>何か設定が必要でしょうか こんばんは。一つ言い忘れました。 各モジュールの設定ファイルは、 /etc/apache2/mods-available/ 配下にありますが、 その設定ファイルを有効にするには、/etc/apache2/mods-enabled/ 配下にシンボリックリンクを 作成する必要があります。 # ls -l /etc/apache2/mods-enabled/ total 8 drwxr-xr-x 2 root root 4096 Jul 24 22:14 ./ drwxr-xr-x 9 root root 4096 Aug 8 00:37 ../ lrwxrwxrwx 1 root root 36 Jul 23 02:55 cgi.load -> /etc/apache2/mods-available/cgi.load lrwxrwxrwx 1 root root 33 Jul 23 02:58 mod_python.load -> ../mods-available/mod_python.load lrwxrwxrwx 1 root root 37 Jul 23 03:03 perl.conf -> /etc/apache2/mods-available/perl.conf lrwxrwxrwx 1 root root 37 Jul 23 03:03 perl.load -> /etc/apache2/mods-available/perl.load lrwxrwxrwx 1 root root 37 Jul 24 22:13 php5.conf -> /etc/apache2/mods-available/php5.conf lrwxrwxrwx 1 root root 37 Jul 24 22:14 php5.load -> /etc/apache2/mods-available/php5.load lrwxrwxrwx 1 root root 40 Jul 23 02:55 userdir.conf -> /etc/apache2/mods-available/userdir.conf lrwxrwxrwx 1 root root 40 Jul 23 02:55 userdir.load -> /etc/apache2/mods-available/userdir.load こんな感じで、mods-available配下のmod_proxy関連のファイルのシンボリックリンクを mods-enabled配下に作成してください。 もちろん、apache2の再起動は必要です。
その他の回答 (3)
- xjd
- ベストアンサー率63% (1021/1612)
>あたらしいWEBサーバはDebian GNU/Linux Sargeです。 こんばんは。 Apache2は、Debianのパッケージを利用していますか? それでしたら、mod_proxyは、Apache2と一緒に標準でインストールされます # ls -l /usr/lib/apache2/modules/*proxy* -rw-r--r-- 1 root root 35120 Jul 28 18:08 /usr/lib/apache2/modules/mod_proxy.so -rw-r--r-- 1 root root 8392 Jul 28 18:08 /usr/lib/apache2/modules/mod_proxy_connect.so -rw-r--r-- 1 root root 31912 Jul 28 18:08 /usr/lib/apache2/modules/mod_proxy_ftp.so -rw-r--r-- 1 root root 20160 Jul 28 18:08 /usr/lib/apache2/modules/mod_proxy_http.so mod_proxy関連の設定ファイルも標準で用意されています。 # pwd /etc/apache2/mods-available # ls *proxy* proxy.conf proxy.load proxy_connect.load proxy_ftp.load proxy_http.load 参考にしてください。
- vsba23895
- ベストアンサー率58% (18/31)
利用可能なモジュールを /usr/local/apache/bin/httpd -l (パスは適当に変えて下さい) として調べて、mod_proxy が入っていたら、再コンパイルは不要です。 入っていないなら、再コンパイルが必要でしょう。(因みに、既定値は入っていない方だったと思います)
- vsba23895
- ベストアンサー率58% (18/31)
reverse proxy ですね。mod_proxy でできます。 /usr/local/apache/conf/httpd.conf (パスは実態に合わせて) の適当なところに ProxyRequests Off ProxyPass /B http://192.168.1.12/ ProxyPassReverse /B http://www.lalala.DynDNS.com/B のように書けば、reverse proxy します。 mod_proxy を生かすためには、apache を --enable-proxy でコンパイルする必要があります。
補足
ありがとうございました。 さっそく確認してみます。 Apacheですが、2.0なんです。 やっぱりコンパイルとか必要ありますか? 現状のWEBサーバはWindows2000Server あたらしいWEBサーバはDebian GNU/Linux Sargeです。
補足
ありがとうございます。 Debian/Linux ⇒ Windowsという構成で動作確認しているのですがうまくいきません。 Debian/Linux 192.168.0.200 Windows 192.168.0.100 proxy.confを以下のとおり編集 <proxy *> ・ ・ Allow form 192.168.0 </proxy> ProxyPass /A http://192.168.0.100 ProxyPassReverse /A http://192.168.0.100 http://192.168.0.200/A でファイル未検出になります。 PROXYサービスが動作していないように思えます。 何か設定が必要でしょうか