我有一個外部託管網站和一個託管在本地網絡上的ASP.NET(Framework 4.5.2)Web API 2。外部網站通過單擊API按鈕發出GET請求,該API查詢MSSQL數據庫並返回JSON以在頁面上顯示數據。該Web API目前託管在運行IIS 10的Windows 10框中。Web API 2和IIS 10 - 偶發性ERR_CONNECTION_RESET
我已經通過NuGet控制檯安裝了Miscrosoft.AspNet.Cors包,並通過將此代碼片段添加到Web.config文件中來啓用CORS:
<add name="Access-Control-Allow-Origin" value="*" />
除了這段程式WebApiConfig.cs:
config.EnableCors();
網站完美的作品時,我的Web API託管在同一網絡上。我在外部網絡上遇到問題。偶爾,我收到ERR_CONN_RESET(Chrome)和「網絡連接丟失」(Safari)。當我打開新的瀏覽器並導航到該網站時,該錯誤似乎更頻繁地發生。點擊幾下按鈕後,錯誤停止並且頁面正常工作。如果我直接導航到web api端點,則會遇到類似的行爲。 錯誤是零星的,這使得這個問題非常難以排除故障。 FailedRequest跟蹤不會創建日誌,因爲請求沒有將其發送到服務器。在IIS中,我嘗試將應用程序池的啓動模式更改爲「始終運行」,並且也沒有任何運氣就啓用了32位應用程序。 有什麼可以導致這個問題的想法?在什麼時候我可以排除我的代碼,CORS配置和IIS配置?我傾向於這是一個網絡問題,但我們的網絡管理員確信問題在我的最終。任何幫助將不勝感激。這個問題已經吃光了整個星期,我即將把我的頭髮拉出來!
看起來不像CORS錯誤,因爲通常CORS錯誤會建議啓用CORS或從同一個域進行調用。如果您確定請求未達到IIS,則可以檢查http.sys日誌(C:\ Windows \ System32 \ LogFiles \ HTTPERR)並根據說明檢查https://support.microsoft.com/en-in/kb/820729。也可能是網絡錯誤,如防火牆阻止。你在小提琴的痕跡中看到了什麼? –
執行一個提琴手跟蹤並獲得504錯誤,指示CORS頭被從HTTP頭中剝離。這可能是由防火牆造成的嗎? – user2486993
您可以添加完整的提琴手痕跡在這裏,即請求和響應 –