インターネットからの 1 つのリクエストに対する IIS Express 7 からの不正なリクエスト応答を修正する方法

インターネットからの 1 つのリクエストに対する IIS Express 7 からの不正なリクエスト応答を修正する方法

私は、Windows XP で IISExpress 7 を使用して、ASP .NET MVC2 アプリケーションのインターネットからの要求に応答しようとしています。

iisexpress 7 applicationhost.configの次の行を変更しました。

<binding protocol="http" bindingInformation=":8080:localhost" />

<binding protocol="http" bindingInformation=":80:" />

リクエスト

GET http://1.2.3.4/Grid/Validate?_column=Toode&_entity=RidO&Toode=ooooo HTTP/1.1
Cookie: active=1; .EevaAuth=CF57FC098F341A1230626D5E339C9E94FE2D77157AAE54402DC2AB5F1AE1E079A9CB93B88B5479B4E926D3C6CDFF7D994E8FA1381CA32D20245A2A9C493B992F2E8863EA6C8E080886EDA103926096CB83B033490552F3CB9BFF62ABD5CFBA5181F378888BFF96D51400319AF8955B556D50A866
Host: 1.2.3.4

インターネットから不正なリクエストエラーが発生します:

HTTP/1.1 400 Bad Request
Cache-Control: private, s-maxage=0
Content-Type: text/html
Server: Microsoft-IIS/7.5
X-AspNetMvc-Version: 2.0
X-AspNet-Version: 2.0.50727
X-Powered-By: Eeva ERP
Date: Thu, 24 Nov 2011 11:52:30 GMT
Content-Length: 11

Bad Request

リクエストがローカルホストから発行された場合、この例外は発生しません。私が見つけたすべての解決策では、これは URL 内の広告文字によって発生すると説明されています。このリクエストhttp://1.2.3.4/Grid/Validate(IP アドレスが変更された場合) の URL には無効な文字が含まれていません。

このリクエストフォームをインターネットで処理できるようにするにはどうすればいいですか?

答え1

C:\inetpub\logs\wmsvc# にある IIS ログを確認してください。リクエストは、次のように URL エンコードされた文字ではなく、HTML エンコードされた文字で受信されている可能性があります。

http://1.2.3.4/Grid/Validate?_column=Toode&amp;_entity=RidO&amp;Toode=ooooo

そうでない場合は、Microsoft ナレッジベースこの記事が役に立つかもしれません (Windows Server 2003 について書かれていますが、私の記憶が正しければ XP にも当てはまるかもしれません)。

関連情報