web-dev-qa-db-ja.com

IIS7をリバースプロキシとして使用する

いくつかの小さなウェブサイトをホストするために、自宅にサーバーをセットアップしています。そのうちの1つは.NETベースでIISが必要で、他はPHPベースでApacheが必要です。したがって、IIS 7とApache2.2.xの両方があります。 IISをポート80に、Apacheをポート8080で実行してサーバーにインストールしました。

リバースプロキシとして機能するようにIISを設定し、Apacheサイトの要求をポート8080に転送し、ホストヘッダーに基づいて.NETサイト自体の要求を処理したいと思います。この:

www.mydotnetsite.com/* -> IIS -> serve from IIS
www.myapachesite.com/* -> IIS -> forward to Apache on port 8080
www.myothersite.com/*  -> IIS -> forward to Apache on port 8080

少しグーグルをして、アプリケーションリクエストルーティング機能が必要なことを実行するように見えましたが、希望どおりに機能させることができないようです。すべてのトラフィックをApacheサーバーに転送し、特定のURLパターンのトラフィックをApacheサーバーに転送するようにできますが、ホストヘッダーに基づいて転送できないようです(例:「forward」 www.apachesite.com-> localhost:8080 "のすべてのリクエスト)

だから問題は、これを行うためにARRをどのように構成するのですか?または、別のツールが必要ですか?

また、リバースプロキシとしてApacheを使用し、.NETサイト要求をIIS)に転送することもできます(ポート80でApacheを実行し、IIS = 8080)。

3
Eric Petroelje

逆にすることをお勧めします。ポート80でApacheを実行し、8080でIISを使用してプロキシの役割を実行することで、問題がはるかに少なくなります。

2
John Gardeniers

エリック、これは今では古い質問ですが、将来の読者のためにARRオプションについての回答を残しておきます。ホストヘッダーに基づいてリダイレクトするには、[条件]セクションで{HTTP_Host}を使用します。 ARRは、すべてのサーバー変数に基づくリダイレ​​クトロジックをサポートしているため、十分な柔軟性があります(mod_proxyと同じくらい)。

7