2017/04/14

[IIS] 解決 IIS 7.5 執行 ASP.NET MVC 5 網站出現 HTTP Error 403.14 的問題

今天在轉移 ASP.NET MVC 5 網站至客戶的 Windows Server 2008 R2 主機, 搭配的是 IIS 7.5 的版本



佈署執行後, 出現 HTTP Error 403.14 - Forbidden 的問題

HTTP Error 403 的問題也曾遇過, 但不是很確定之前是否也是 403.14 的錯誤代碼



通常遇到 403 的問題, 基本上跟權限有關

確認 Application Pool 的 .NET Framework 版本為 v4.0.30319 整合模式
也檢查了網站資料夾已給予 IIS_USRS 的讀取寫入權限, 仍然無法正確顯示

翻查所有的可能性資料, 最後的解決方案如下:


檢查 web.config 的 system.webServer 區塊, 在 modules 加上 runAllManagedModulesForAllRequests="true" 的屬性即可

<system.webServer>
 <modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>

過去的網站都是有實體的路徑, 而 MVC 的路徑是由 Url Routing 來引導, IIS 7.5 也已有段歷史, 如果是近期的 IIS 8 以上的版本, 應該是不會遇到這個設定問題.

當然, 現在仍是有許多公司行號還在用較舊的 Server 版本, 所以還是記錄一下以供翻查.

相關連結:



沒有留言: