Iis

IIS:具有未知內容類型的請求被拒絕

  • January 19, 2016

我有一個執行 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 類型。

引用自:https://serverfault.com/questions/287417