IIS7.5、.net 4.0 を使用しています。私は地元で働いています。
リバース プロキシをセットアップするために、Application Request Routing、Web Farm Framework、WebDeploy、および UrlRewrite をインストールしました。これはほとんどの場合うまくいきます。
私は2つのウェブサイトを持っています:
- DefaultWebSite (ポート 80、アプリケーション プール: デフォルト アプリケーション プール (.net 4)) および
- ターゲット (ポート 8085、アプリ プール: TargetAppPool(my identity, .net 4))。
DefaultWebSite ( IIS.netの指示に従って作成)に、上記のリンクで説明されているように、すべての localhost (ポート 80) トラフィックをlocalhost:8085にリダイレクトする書き換えルールがあります。これは、ほとんどのドキュメント タイプ (.aspx、.xap、.htm、.ico) で正常に機能しますが、MyService.svc への要求は失敗します。404 を返します。
明確にするために:
localhost:8085/MyService.svcをブラウザーに貼り付けると、要求された WCF ページが表示されます。
localhost/MyService.svcをブラウザーに貼り付けると、404 が表示されます。
localhost:8085/MyIcon.icoをブラウザーに貼り付けると、要求されたリソースが取得されます。
localhost/MyIcon.icoをブラウザーに貼り付けると、要求されたリソースが取得されます。
.svc は、404 を返すことがわかっている唯一のドキュメント タイプです。
関連する可能性のある情報を 2 つ入手しました。
アプリケーション プール。DefaultWebSite のアプリケーション プールを TargetAppPool に変更すると、404 が 500 になります (「パス '/' のマッピングに失敗しました」)。この変更が行われると、他のすべての要求は成功します。これが関連しているかどうかはわかりません。
FREB (Failed Request Tracing) ログ。手順を詳しく説明しているページ ( http://blogs.msdn.com/b/asiatech/archive/2011/08/25/return-404-4-not-found-when-url-rewrite.aspx ) を見つけました。 URL の書き換えが私のものよりも成功した場合の FREB ログ (後で失敗します)。書き換えを成功させるための FREB ログを生成する方法を見つけることができなかったので (可能であれば)、私の FREB ログをそのブログのものと比較することしかできません。私の FREB ログにはステップ 21 (URL_CHANGED) が表示されていますが、22 (URL_REWRITE_END) は表示されていません。これらのログについて、それよりも重要なことに気付くほどの経験はありません (提案を歓迎します)。
私の主な質問は、.svc リソースを要求する URL だけが書き換えられない理由を知っている人はいますか?
二次的な質問は次のとおりです。リクエストが成功した場合に FREB ログを生成する方法を知っている人はいますか (可能であれば)。
ありがとう
アップデート:
アーキテクチャを変更して、より多くの情報を取得しようとしました。
着信トラフィックをキャプチャするために Microsoft Network Monitor をインストールした別の PC に Target Web サイトを移動しました。
この新しい Web サイトを指すように url-rewrite ルールを変更する前は、新しい PC で MyService.svc に要求を行ったときに正しい応答が得られました。罰金。
リクエストを新しいターゲット Web サイトにルーティングするように書き換えルールを変更するとすぐに、以前と同じように応答します (404)。POST リクエストと GET リクエストの両方を行いました。Network Monitor ログには、要求の痕跡はありません (他のすべての呼び出し (200、404、またはそれ以外) はこのログに表示されます)。
これにより、url-rewrites および *.svc リクエストと互換性のないものがあると思われます。MyService.asmx (このファイルを作成した) にリクエストを送信しようとしたところ、正しくページが返されたため、*.svc に制限されています。何か案は?