2012-07-06 156 views
9

我想部署一個網站,我已經建立在運行iis7的服務器上的mvc3。我能夠通過我的筆記本電腦在本地運行iis7,但是當我嘗試將它放到服務器上時,我嘗試遠程訪問它時出現403訪問被拒絕錯誤,而當我嘗試連接時出現「連接超時」從服務器本身查看它。IIS7 403 - 訪問被拒絕

我已經確定我必須使用asp_regiis.exe最新的.Net 4框架的。我嘗試了多個應用程序池,包括默認值。我允許.net4 isapi。我已更改權限以允許從IUSER,SERVER NETWORK,Authenticated Users進行訪問。我確定默認的文檔列表與我的筆記本電腦iis7上的一樣(可以正常工作)。

我也有其他多個站點(使用web表單,不MVC)的工作就好了服務器上。

它可能是與我傳遞給文件到服務器的方式嗎?我只是壓縮文件並將它們放在服務器上(並將它們解壓縮)並將iis指向創建的目錄。

我錯過了什麼?

+0

你的意思是你的應用程序的壓縮副本是唯一的IIS? – Tyrsius 2012-07-06 21:34:26

+0

抱歉沒有指定。我解壓縮並將文件放入一個文件夾中。 – Shattuck 2012-07-06 21:35:12

回答

14

我上週面對這個錯誤,它可以由許多原因引起:

  1. 的.NET Framework的正確版本未安裝或asp_regiis.exe
  2. 的「runAllManagedModulesForAllRequests」註冊爲在你的web.config
  3. MVC的正確版本沒有安裝在服務器設置爲false
  4. 你的忽略而忽略你的要求
  5. 路線你有一個伯爵y Application_Start異常並且您的站點無法正常啓動

就我而言,我忘記將web.config中的日誌記錄目錄路徑值更改爲現有的directoy。

你可以做什麼來知道它是一個配置錯誤還是應用程序中的錯誤是在VS中創建一個新的默認MVC項目並將其部署到同一個應用程序池中。

+0

這些步驟使我找到了正確的答案。它最終成爲一堆不同的東西。其中一個主要的是我選擇了正確的應用程序池,但選擇了經典代替集成 – Shattuck 2012-07-09 15:54:18

+1

在web.config中設置爲true的「runAllManagedModulesForAllRequests」爲我工作 – chamara 2014-08-09 15:40:40

1

您需要確保解壓縮文件的文件夾具有正確的權限設置。另外,你有在該網站的身份驗證設置?

+0

我修改了該文件夾的權限,但似乎沒有幫助。另外,我不確定你指的是什麼認證。我對iis相當陌生 – Shattuck 2012-07-06 21:40:08

3

而是拉上你的應用程序,它會更好,如果你可以發佈它(在VS,右鍵點擊你的項目併發布)之後將其部署到您的網站(你有幾個選項)。

之後,對於IIS,它看起來像是一個認證問題。嘗試允許匿名身份驗證。在IIS管理器上,轉到您的網站,單擊身份驗證模塊並啓用「匿名身份驗證」。

讓我們看看以後有什麼發生,即使「超時」問題是奇怪.... 只是可以肯定,默認情況下它是禁用瀏覽網站的內容,你將有一個403錯誤,如果你試圖去做。

你把你的應用程序放在哪裏?有時可能會出現問題(對於訪問配置),將其放置在程序文件等特定文件夾中。嘗試將它安裝在根目錄(如C:\ Websites \ MyApp)中,以便在沒有用戶權限問題的情況下進行測試。

3

你應該檢查幾件事。

  1. 您是否將解壓縮文件的目錄設置爲IIS中的應用程序?該應用程序是否運行.NET 3.5/4.0?

  2. 是您的運行你已經在上面集成模式或經典模式運行時創建的應用程序的應用程序池的管道?

通常,在部署MVC應用程序時,403不是權限問題。它告訴你,目錄瀏覽是不允許的。這是因爲如果沒有上述兩項中的任何一項(或IIS中的自定義通配符映射),Web服務器不知道如何處理路由,這是MVC應用程序的基礎。

2
  1. 創建所有默認值一個新的MVC 3的互聯網應用。在本地IIS服務器上運行。
  2. 將應用程序移至服務器並將其添加爲應用程序。
  3. 在服務器上測試本地訪問(從IIS管理器瀏覽80)。
  4. 不要霰彈槍旋轉所有的權限,直到你找出問題。
  5. 請參見我的博客http://blogs.msdn.com/b/rickandy/archive/2011/04/22/test-you-asp-net-mvc-or-webforms-application-on-iis-7-in-30-seconds.aspx
+0

是的,允許混淆並不是最好的主意。感謝您的洞察! – Shattuck 2012-07-09 15:54:54

0

在建立網站,有你在點擊測試連接測試你的IIS設置。你有兩個綠色的蜱蟲嗎?如果不是,請檢查您的驗證設置。文件夾訪問設置和應用程序池設置。

+0

感謝您的回答。它最終成爲一堆不同的東西,但應用程序池是它的一部分。 – Shattuck 2012-07-09 15:55:30

0

如果是aspx文件請確保在IIS上設置了默認頁面,如果沒有安裝asp.net應用程序。一旦你安裝了默認的aspx文件就會被創建。