簡體   English   中英

403發布asp.net MVC后被禁止

[英]403 forbidden after publishing asp.net MVC

我知道這已經回答了幾次,但沒有一個解決方案適合我。 我發布了我的ASP.NET MVC 3應用程序(它只是互聯網模板,沒有任何更改),看看我是否可以讓它公開工作。 但是,當我訪問該網站時,它顯示403錯誤。 來自php / linux背景,我很困惑,不知道在哪里看。 我只學習了大約8-9個月的.NET,之前我一直在測試的一切都是通過VS2010在本地開發服務器上。 它幾乎看起來像服務器不知道它應該是一個MVC應用程序或我必須改變我的路由。

無論如何,我檢查確保服務器設置是.NET 4.任何幫助將不勝感激。

此外,它是使用arvixe的共享托管環境。

對我來說,這就是訣竅( MmerrellIIS 7.0 / Windows Server 2008上為ASP.NET MVC 3應用程序獲取404.0錯誤時的原始答案)

你實際上只是提醒我,我需要在這里的環境中解決這個問題。 如果您的情況與我的相同,那么這是一個簡單的修復。

只需將以下內容添加到您的Web配置中:

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

確保您已選擇“ASP.Net 4.0”應用程序池,而不是為您的應用程序創建的應用程序池。 確保您的應用程序池使用“ApplicationPoolIdentity”而不是NetworkService。 從根文件夾中刪除NetworkService權限。 你不需要它。 IIS具有內置標識(IIS_IUSRS)。

403是禁止的錯誤。 嘗試檢查部署文件夾的NTFS權限,確保Network Service用戶具有讀取權限

在此輸入圖像描述

此外,請檢查IIS應用程序中的身份驗證和授權機制:

在此輸入圖像描述

編輯:

.Net授權規則

在此輸入圖像描述

在使用FTP Publishing將MVC 4 WebSite發布到遠程服務器之后,我遇到了同樣的問題。 最終為我工作的是在通過Visual Studio發布,登錄到遠程服務器上的IIS,找到已發布的目錄 - >右鍵單擊 - >轉換為應用程序。

如果您無權訪問服務器,不確定是否有辦法在web.config / properties中指定此項?

1-驗證您的應用程序是否在.NET 4.0下運行(您這樣做了)

2-與托管公司核實它在托管計划上支持MVC 3框架。

3-(工作)Bin-Deploy您的MVC運行時庫,以便您可以克服服務器上的任何要求。

您可以在此處找到更多bout bin-deploy ASP.NET MVC: http//haacked.com/archive/2011/05/25/bin-deploying-asp-net-mvc-3.aspx

4-檢查“網絡服務”是否具有對文件夾的適當訪問權限。 它基本上應該具有“讀取”權限。

不要忘記aspnet_regiis.exe -ir

<handlers>
  <add name="rewrite" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="None" preCondition="classicMode,runtimeVersionv4.0,bitness32" />
</handlers>

請求您的托管服務提供商將此處理程序添加到webconfig中

嘗試將應用程序池的托管管道模式更改為“經典”而不是“集成”。 雖然它可能不是您所追求的最終結果(使用集成模式可能具有真正的優勢),但至少它會指向正確的方向...如果它有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM