別のWebサーバーに要求を転送するようにIISを構成できますか?


81

ホストヘッダーによって区別される1つのIIS 6サーバーに複数のWebサイトをセットアップしています。

ただし、ネットワーク上のLinux / Apacheサーバーがサービスを提供するサイトの1つを希望します。IISにリバースプロキシアドインを使用する必要がありますか、またはすべての要求を別のサーバーに渡すようにIISに指示する簡単な方法はありますか?

回答:


83

IIS 7.5の場合、Microsoftはこのための公式モジュールを提供します!

サイトの設定で、「URL Rewrite」アイコンが表示されます。

  • それを開く
  • 「受信規則リスト」を右クリックします
  • 「ルールを追加」を選択します
  • 「リバースプロキシ」を選択します

このダイアログでは、転送先のホスト名+ポートを入力できます。ルールを追加した後、編集ダイアログを開くと、さらにカスタマイズできます。


8
それは素晴らしいことですが、元の質問ではIIS 6が指定されていたので、IIS 7.5に固有の回答が「承認済み」としてマークされていると混乱しています。IIS 6のソリューションはありましたか?
ティムロング

@Tim:下記のISAPIリライトを使用できますが、それ以外は、IIS6ソリューションに精通していません。
vdboor

Win10マシンで問題が発生したため、インストールできません。これらのモジュールに制限はありますか?MSのサーバーOSで実行する必要がありますか?ありがとう
fpdragon 16

1
このメソッドを使用してPOSTリクエストを逆プロキシする問題があることに注意してください
キャスパーレオンニールセン

2
@CasperLeonNielsen POSTの潜在的な問題に関する詳細を教えてください。
イェンスエーリッヒ

17

私はこの目的のためにWindows(IIS)のサードパーティソフトウェアを使用しています。これは、URL書き換えなどの他の機能に加えて、ISAPI Rewriteとして非常にうまく機能します。

ISAPI Rewriteは、正規表現に基づいた強力なURL操作エンジンです。これはほとんどApacheのmod_Rewriteのように機能しますが、MicrosoftのInternet Information Server(IIS)専用に設計されています。ISAPI Rewriteは純粋なC / C ++で記述されたISAPIフィルターであるため、非常に高速です。ISAPI_Rewriteを使用すると、標準のURLスキームを超えて独自のスキームを開発できます。

「プロキシ」を検索します。ここでRewriteProxyルールのドキュメントが

非常によく似たオープンソースプロジェクトもあります:IonicのIsapi Rewrite Filterです。


IIRFはProxyPassのためのドキュメントへのリンク:cheeso.members.winisp.net/Iirf20Help/html/...
Cheeso

2
これは、IIS 6の上にうまく機能- 1
エヴァンアンダーソン

この問題のため、Windows 2008 R2 SP1でIIRFを使用できませんでした:iirf.codeplex.com/workitem/32479
Peter K.

1

いいえ、IIS 6ではありません。IIS6サーバーの前で、nginx / ubuntu(またはWindowsではnginx)をリバースプロキシとして使用することを検討してください。リバースプロキシ機能にはIIS7.5を使用する必要がありました


-3

このMicrosoft KB記事は、この要求に答えるのに役立つはずです。

リクエストを別のWebサイトまたはディレクトリにリダイレクトする手順:

  1. IISマネージャーで、ローカルコンピューターを展開し、リダイレクトするWebサイトまたはディレクトリを右クリックして、[プロパティ]をクリックします。

  2. [ホームディレクトリ]、[仮想ディレクトリ]、または[ディレクトリ]タブをクリックします。

  3. [このソースのコンテンツの発信元]で、[URLへのリダイレクト]をクリックします。

  4. [リダイレクト先]ボックスに、宛先ディレクトリまたはWebサイトのURLを入力します。


6
投稿者の質問に「reverse-proxy」タグがあると、彼はHTTPリダイレクトではなく、リバースプロキシ機能を探していると推測します。
エヴァンアンダーソン

5
他のサーバーは、そう、残念ながら、これは動作しないでしょう公に利用できません
ダニエル・O

これは明らかに間違っています。
tacos_tacos_tacos
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.