Top過去ログ目次掲示板

作成日:2008年06月10日 作成:おやじ
掲示板で過去に質問された内容です。

No.7579 2台のWebサーバを同一ドメイン名で利用


No.7579 投稿時間:2008年06月10日(Tue) 13:05 投稿者名:mony31 URL:
タイトル:2台のWebサーバを同一ドメイン名で利用

初めまして、mony31と申します。
2台のWebサーバを同一ドメイン名で利用したいのですが出来るのでしょうか?

1台目:Linux(グローバルIP1)
2台目:Windows(グローバルIP2)
1台目--http://www.test.co.jp/
2台目--http://www.test.co.jp/test/

上記のように階層により参照先を変更することは出来るのでしょうか?


No.7580 投稿時間:2008年06月10日(Tue) 18:39 投稿者名:おやじ URL:
タイトル:リバースプロキシー?

> 初めまして、mony31と申します。
> 2台のWebサーバを同一ドメイン名で利用したいのですが出来るのでしょうか?
>
> 1台目:Linux(グローバルIP1)
> 2台目:Windows(グローバルIP2)
> 1台目--http://www.test.co.jp/
> 2台目--http://www.test.co.jp/test/
>
> 上記のように階層により参照先を変更することは出来るのでしょうか?

普通は、グローバルIPの数が足らなくてやむを得ず名前ベースのバーチャルホストで対処しているのに、ドメインが1個でグローバルIPを2個も持っているなんて変わった環境ですね。
DNSの仕組みをご存知なら、DNSだけでホスト名が同一で異なるIPアドレス(ロードバランスのようにそれぞれIPアドレスが対等な関係である場合は話が別)をマッピングはできないのはわかりますよね。
ということで、今回やろうとしていることは何をしようともグローバルIP2はいらないと思います。つまり、www.test.co.jpは、まずはグローバルIP1に変換され1台目:Linux(グローバルIP1)で受けるしかないということです。その後、/testであればリバースプロキシー(下記参照)を動かすようにすればできます。

http://www.aconus.com/~oyaji/suse/mobileimap_suse.htm

本来何がしたいのか目的が書かれておらず、ご自身が考えた手段ができるかどうかしかないので、思いつくのはこれぐらいですね。 それにしても、ドメイン1個でIPが2個とは裕福ですね。おやじもできれば、unnumberedで8IPにしたいです・・。


No.7581 投稿時間:2008年06月11日(Wed) 12:02 投稿者名:mony31 URL:
タイトル:Re: リバースプロキシー?

ご回答ありがとうございます。

> 普通は、グローバルIPの数が足らなくてやむを得ず名前ベースのバーチャルホストで対処しているのに、ドメインが1個でグローバルIPを2個も持っているなんて変わった環境ですね。

こちらの作業上、IP8の契約をしなくてはならず、余分なIPがあまっている状況です。

> 本来何がしたいのか目的が書かれておらず、ご自身が考えた手段ができるかどうかしかないので、思いつくのはこれぐらいですね。

すみません。確かに目的を書いていませんでした。
やりたいことは、Linux のApache で作成したホームページとWindowsのASP.net で作成したホームページの両方を表示させたいのです。
(この2台のサーバのホームページを表示させたい)

http://www.test.co.jp/ をブラウザで入力したときに、Linux のページを表示し、

http://www.test.co.jp/test/ をブラウザで入力したときは、Windows のページを表示させたいのです。

この時、セッション等の引継ぎは必要なく、ただそれぞれのアドレスで個別のホームページを立ち上げたいのです。

グローバルIPに関しては、別に必要であれば割り当てることは可能というレベルで考えてもらえるとありがたいです。

長くなりましたが、やりたいことは1つのドメイン名で、階層により複数の個別のホームページを、環境に依存せず表示させたいのです。
仮想フォルダなどでは、Windows がメインの場合ASP.net で作成した場合、Linux を共有フォルダとしてしか使えないのでLinux のApache 環境で作成したものが表示できません。(やりかたが悪いだけかもしれませんが)


No.7582 投稿時間:2008年06月11日(Wed) 20:04 投稿者名:おやじ URL:
タイトル:あくまで参考意見として

以下、図を入れるため適当に改行してあります。


> > 普通は、グローバルIPの数が足らなくてやむを得ず名前ベースのバーチャルホストで
対処しているのに、ドメインが1個でグローバルIPを2個も持っているなんて変わった環境ですね。
> 
> こちらの作業上、IP8の契約をしなくてはならず、余分なIPがあまっている状況です。
> 
> > 本来何がしたいのか目的が書かれておらず、ご自身が考えた手段ができるかどうかしか
ないので、思いつくのはこれぐらいですね。
> 
> すみません。確かに目的を書いていませんでした。
> やりたいことは、Linux のApache で作成したホームページとWindowsのASP.net で作成し
たホームページの両方を表示させたいのです。
> (この2台のサーバのホームページを表示させたい)
> 
> http://www.test.co.jp/ をブラウザで入力したときに、Linux のページを表示し、
> 
> http://www.test.co.jp/test/ をブラウザで入力したときは、Windows のページを表示
させたいのです。
> 
> この時、セッション等の引継ぎは必要なく、ただそれぞれのアドレスで個別のホーム
ページを立ち上げたいのです。
> 
> グローバルIPに関しては、別に必要であれば割り当てることは可能というレベルで考え
てもらえるとありがたいです。
> 
> 長くなりましたが、やりたいことは1つのドメイン名で、階層により複数の個別のホーム
ページを、環境に依存せず表示させたいのです。
> 仮想フォルダなどでは、Windows がメインの場合ASP.net で作成した場合、Linux を
共有フォルダとしてしか使えないのでLinux のApache 環境で作成したものが表示できません。
(やりかたが悪いだけかもしれませんが)


どうも業務用途でのご質問のようですが、おやじはトップページに記載しているように、
この世界は全くの素人であり趣味でやっていることなので、そのあたりをご理解いただいた
うえでの事としてあくまで参考意見ということで・・・。(免責)
先に示した参考ページはメインがリバースプロキシーではないので、分かりにくいですか?
よく見てもらえば分かると思いますが、上記要件ならまさにリバースプロキシーで対象できます。
但し、全てのトラヒックがメインのLinuxマシンを通過すること、内向きにNICがない場合は、
Windowsマシンが処理するトラヒックはLinuxマシンのNICを2度流れる(Windowマシン->
Linux-NIC->Apache中継->Linux-NIC->外部)ので負荷が倍になるので注意が必要。
これが嫌なら、Windows連携用に別のNICを用意すればよいと思います。
下記に一例を示しますが、NAT環境で同一セブメントにLinuxとWindowsマシーンが繋がって
いる前提です。
LinuxとWindows間通信用にLinuxに別のNICを用意するなら、ルーティングを簡単にするため、
Winodwsとともに別セグメント(192.168.2.0/24等)にしたほうが良いと思います。
下記では、外部に見えるのはLinuxマシーンの192.168.1.100で、何もなければLinuxの
Apacheで通常処理され、リバースプロキシー設定がされているURI(ここでの例ではtest)に
アクセスがあると、LinuxのApacheが指定された宛先(ここでは、Windowsマシンのtest)に
プロキシーしてくれます。
複数のURI(ディレクト)で使い分けたいようなので、間違えないようにアクセスしてくるURI
とWindows側のURIは一致させておいたほうが良いのではないかと思います。単にプロキシー先
を指定するだけでいいので、URIの一致は必須条件ではないのはお分かりかと思いますが・・・。
複数URIがある場合は、必要な対応付けをズラズラと書いてあげればよいだけです。
HPにも書いてありますが、Apacheのproxy関係のモジュールをloadするのを忘れないように。


                Linux                  Winodws
      ┌─────┐     ┌─────┐
      │ Apache |     │     |
      │┌───┐|     │     |
192.168.1.100 │Reverce |   192.168.1.101  |
 ─────┤│ proxy│├─────┤     |
      ││      │|     │     |
      ││      │|     │     |
      ││      │|     │     |
      │└───┘|     │     |
      │     |     │     |
      └─────┘     └─────┘

[設定例]
# ProxyRevers options
ProxyRequests Off

# testディレクトリ
ProxyPass /test http://192.168.1.101/test
ProxyPassReverse /test http://192.168.1.101/test


ProxyPass /[URIパス名] http://192.168.1.101:[ポート番号]/[URIパス名]
ProxyPassReverse /[URIパス名] http://192.168.1.101:[ポート番号]/[URIパス名]



掲示板▲頁先頭