我有一個C#MVC4應用程序,我最近遷移到了Azure Web角色。我可以在Azure平臺上很好地發佈/運行該站點,但是當我嘗試使用Azure開發結構在本地運行它時,IIS和IIS Express會拋出一個通用的403錯誤。IIS和IIS Express在本地爲MVC4引發403錯誤Azure應用程序
我嘗試添加以下內容到我的web.config中,因爲我已經看到它在衆多帖子中提到過,但它沒有幫助。無論如何,這個解決方案似乎有點像大錘的方法,因爲它通過託管管道運行所有請求,但仍然認爲我會給它一個鏡頭。
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"></modules>
<handlers>
<remove name="UrlRoutingHandler"/>
</handlers>
</system.webServer>
我已驗證我可以訪問的「robots.txt」文件在我的應用程序根目錄,這樣服務器被解僱了,並指向正確的地方,但它不會成爲我的任何MVC頁。
我也試過this SO answer的解決方案。那裏也沒有骰子。
我也嘗試將我的Azure Web角色切換到IIS而不是IIS Express運行。我在那裏得到相同的403錯誤。爲了徹底,我運行了aspnet_regiis -ir,即使在我的機器上本地運行的其他MVC應用程序(非Azure)也能正常工作。
編輯 所以這是有趣的...當我按F5鍵(我的Azure項目是我的啓動項目),在Azure計算/存儲仿真器火了起來,然後我的瀏覽器打開http://127.0.0.1:81/
。這是我在403錯誤處得到的URL。但是,如果我使用的是IIS(不是Express),並且我在Azure在部署過程中創建的IIS中的網站上右鍵單擊「管理網站」,然後選擇「瀏覽」,它會打開該網站在http://localhost:82/
。注意「localhost」而不是127.0.0.1和端口82而不是81和它工作!我可以通過我的網站瀏覽沒有問題,打斷點等現在,如果我嘗試http://127.0.0.1:82
(使用IP,但港口82),我仍然得到403.
任何想法?
我記得在VS網站夫婦問題:a)檢查防火牆和防病毒軟件不會阻止某些端口(只是嘗試禁用它們)b )在項目設置中轉到Web設置,關閉動態端口並檢查固定端口(並設置82)。 – outcoldman 2013-05-10 04:21:38
Azure不使用標準VS MVC項目中的Web設置。它將計算實例加載到Azure開發結構中,以便MVC項目的Web設置不會產生任何影響。我沒有問題到端口81/82,我只是得到403錯誤,一旦他們加載。 – Scott 2013-05-10 04:36:55
有沒有機會在您的本地iis上運行81端口的任何網站? – JamesKn 2013-05-10 07:49:15