2017-02-23 47 views
0

我們有一個在Windows Server 2012 R2上與IIS 8一起運行的MVC應用程序。您可以撥打電話https://host/https://host/Loginhttps://host/Whatever一切都很好。使用IIS和MVC應用程序設置與銀行兼容的重定向

此應用程序已部署到銀行的機器上。有一些計劃的作業正在運行,以檢查是否正確設置了一些系統參數。其中一項檢查驗證IIS中的每個應用程序都有重定向到https。最初他們已經將重定向設置爲https://host/Login,它產生了如https://host/Login/User,https://host/Login/Logs等鏈接。

所以他們試圖設置重定向到https://host/這導致了一個重定向循環。

現在他們已經禁用了支票。但是這只是一段時間,直到某些管理員厭倦了「錯誤配置」的系統通知並重新激活重定向。

我需要一個解決方案,其中包括<httpRedirect><system.webServer>。有任何想法嗎?也許有一套額外的重寫規則?甚至有些代碼更改(儘管我想避免這種情況)?

當前設置爲<httpRedirect enabled="true" destination="https://localhost/" exactDestination="false" childOnly="true" />

最好的問候, 卡斯滕

回答

0

只需添加RequireHttpsAttribute到您的全局過濾器:

App_Start/FilterConfig.cs

public static void RegisterGlobalFilters(GlobalFilterCollection filters) 
{ 
    filters.Add(new RequireHttpsAttribute()); 
    ... 
} 
+0

不,沒有不要這樣做。 https:// localhost /和https:// localhost/Logs都不起作用。兩者都重定向了120次...... –

+0

然後你還有別的與重定向衝突。重要的是,如果你使用全局過濾器,你不應該*做一個URL重寫。 –

+0

除了'Web.config'中的'',我沒有任何其他重定向。任何可能導致麻煩的建議? –

相關問題