Iis
IIS:具有未知內容類型的請求被拒絕
我有一個執行 asp.net mvc 3 應用程序的 IIS7.5 機器。應用程序接收二進制 POST 請求並返回二進制應答。為了將此二進制數據與所有其他數據包區分開來,我設置了我自己的 mime-type(我們稱之為application/my.binary.data),我將其與Content-Type標頭一起使用。
IIS 伺服器似乎不喜歡我自己的 mime 類型,並使用400 Bad Request拒絕數據包。如果我將 mime-type 更改為application/octet-stream,它會通過 IIS,我會從我的應用程序中得到答案。
如何設置 IIS 以允許我自己的 mime 類型的請求?
請求包
POST http://my.local.domain/Page HTTP/1.1 Host: my.local.domain Content-Length: 33 Content-Type: application/my.binary.data Cache-Control: no-cache ..............p.00000000000000...
響應包:
HTTP/1.1 400 Bad Request Cache-Control: private Content-Type: text/html Server: Microsoft-IIS/7.5 X-AspNetMvc-Version: 3.0 X-AspNet-Version: 4.0.30319 X-Powered-By: ASP.NET Date: Wed, 06 Jul 2011 08:11:27 GMT Content-Length: 11 Bad Request
通過遵循http://www.donnfelker.com/aspnet-mvc-iis7-and-bad-request/上的以下指南,我終於能夠解決問題。
我將以下程式碼添加到我的 web.config
<system.webServer> <httpErrors errorMode=”Detailed” /> </system.webserver>
像這樣的部落格:http: //blogs.iis.net/bills/archive/2008/03/25/how-to-add-mime-types-with-iis7-web-config.aspx可能會闡明什麼你需要做。
主要是更新應用程序 web.config 中的靜態內容設置,以便 IIS7.5 知道您自己的 mime 類型。