如何修復來自 Internet 的一個請求的 IIS Express 7 的錯誤請求回應

如何修復來自 Internet 的一個請求的 IIS Express 7 的錯誤請求回應

我正在 Windows XP 中嘗試使用 IISExpress 7 來處理來自 Internet 的 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

如果請求是從 localhost 發出的,則不會發生此異常。我發現的所有解決方案都描述這是由網址中的廣告字元引起的。如果此請求http://1.2.3.4/Grid/Validate(IP 位址已更改)不包含無效字符,則為 URL。

如何允許處理此網際網路請求表?

答案1

檢查位於 C:\inetpub\logs\wmsvc# 的 IIS 日誌。您的請求可能會使用 HTML 編碼字元而不是 URL 編碼,如下所示:

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

如果不是這樣的話,這個微軟知識庫文章可能對您有幫助(它指出 Windows Server 2003,但如果我沒記錯的話,它也適用於 XP)。

相關內容