2011-09-16 117 views
3

我正在製作一個必須符合MobileOK的網站。錯誤406與IIS 6

當我運行驗證器時,只要它嘗試檢索JPEG或PNG文件,但它會收到「406」錯誤,但gif文件沒問題。

我認爲導致它的原因是MobileOK驗證器發送的「Accept:」頭不包含「image/png」或「image/jpg」,而只包含「image/jpeg」和「圖像/ GIF」。

因此,我將所有png文件都從網站中刪除,並將其替換爲gif和jpeg文件,將任何「.jpg」重命名爲「.jpeg」。我還在IIS MIME配置中添加了將任何.jpg,.jpeg文件擴展名映射到「image/jpeg」MIME類型。

然而,驗證不斷遇到錯誤406

如何解決這個問題?有沒有辦法解決它,解決它的一種方法,或者一種方法來欺騙它?

據我所知,服務器有一個乾淨的安裝Windows Server 2003沒有任何修改。

爲了迴應kroonwijk,我無法給你一個實際的摘錄,因爲我現在只是將所有內容都轉換爲.gif文件,而且我沒有活動的有問題的網站副本。然而,MobileOK網站在驗證包含png或jpeg文件的頁面時發生了「IMAGE_FOR_SPACING」故障(聲稱我有一個非常小的透明圖像),並且出現「MAIN_DOCUMENT」錯誤(將站點代碼作爲一個IIS 406錯誤),當我使用驗證器將圖像本身作爲目標時。

IIS日誌記錄了時間,驗證器的IP和代碼406.我現在懷疑在某種程度上Accept:標題在實際到達IIS服務器之前被截斷了......如何我是否會查看實際接受標題?

+0

您能否提供MobileOK測試報告的副本以及IIS日誌文件的摘錄,與執行的測試有關? – kroonwijk

+0

我讀的是一個406錯誤是......由於默認情況下打開了Apache mod_security。雖然您可以使用以下方法來診斷問題(關閉過濾器可以解決問題):SecFilterEngine off 保留過濾器非常重要,因爲它有助於防止垃圾郵件和注入攻擊。 'http://www.werockyourweb.com/406-error-not-acceptable-an-appropriate-representation-of-the-requested-resource-could-not-be-found-on-this-server – Coffee

+0

@Adel I不要認爲IIS的默認安裝使用Apache的mod_security。我在IIS上看到的有關使用Apache的mod_security的所有內容都是一些小規模端口,而微軟則沒有。 – bdares

回答

0

This link提供了一種技術,用於繞過IIS中生成406錯誤的Accept頭處理。它使用ASP.NET的StaticFileHandler。