4

新しいイントラネット サーバー (Win 2008 R2 Standard SP1) にいくつかのアプリをセットアップする必要があります。URL Rewriter ルールで問題が発生しています。ローカル IIS (Win 7) でうまく機能する同様のルールがありました。このルールは、クライアントからの jQuery AJAX 要求が XSS を回避できるようにする Web サービスのリバース プロキシを作成するように設計されています。

ルールは次のとおりです。これをそのまま使用し、例の URL をブラウザーに入力すると、次のようになります。

http://srv01.domain.com/serviceproxy/workflow/Users/GetUsers?q=smith&max=10

サーバーから 404 応答が返ってきました。タイプを「リダイレクト」に変更すると、期待どおりのサーバーからの応答が得られます (ただし、明らかにこれにより、XSS を回避する試みが無効になります)。

<rewrite>
  <rules>
    <rule name="Reverse Proxy - WCF Service" stopProcessing="true">
      <match url="serviceproxy/workflow/(.+)" />
      <action type="Rewrite" url="http://srv01.domain.com/WorkflowService/{R:1}" />
    </rule>
  </rules>
</rewrite>

サーバー構成に欠けている可能性のあるアイデアはありますか? 書き換えを許可するために構成する必要があるのは、どこかのセキュリティ設定ですか?

4

2 に答える 2

1

Windows 2008、IIS 7.5 で同様の問題が発生しました。問題は、アプリ プールが統合モードになっていることでした。書き換えで問題が発生しました。リダイレクトは常に問題ありませんでしたが、書き換えは常に失敗しました。

アプリプールをクラシックモードに変更し、問題を解決しました (少なくとも今のところ)。

より良い解決策は、最後のhttp://forums.iis.net/t/1200671.aspx?ARR+URl+Rewrite+is+not+working+for+external+servers です。しかし、私はそれを試していません。

于 2014-07-03T12:51:28.543 に答える