いくつかの小さなウェブサイトをホストするために、自宅にサーバーをセットアップしています。そのうちの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)。
逆にすることをお勧めします。ポート80でApacheを実行し、8080でIISを使用してプロキシの役割を実行することで、問題がはるかに少なくなります。
エリック、これは今では古い質問ですが、将来の読者のためにARRオプションについての回答を残しておきます。ホストヘッダーに基づいてリダイレクトするには、[条件]セクションで{HTTP_Host}を使用します。 ARRは、すべてのサーバー変数に基づくリダイレクトロジックをサポートしているため、十分な柔軟性があります(mod_proxyと同じくらい)。