![](/img/trans.png)
[英]Azure Web App with Linux and bundling GLIBC 2.29 with my ASP.NET Core 7 App
[英]Visual Studio Web Publish ASP.NET app to Azure Web App results in Forbidden except for code from one branch, one computer
我正在使用 ASP.NET MVC (5/.NET Fx 4.8) 應用程序,該應用程序已部署到 Azure Web 應用程序 7 年以上。 昨天,我注意到我只能從單個分支或更早代碼上的單個計算機發布到 Azure Web 應用程序。
Visual Studio 報告部署成功,但是,幾秒鍾后 output window 中出現一條消息: A call to warmup your site failed with response code: 'Forbidden'.
當我從工作計算機和工作分支部署時,一切都很好。
我正在努力了解如何理解這一點。 代碼在兩台計算機上是相同的(根據源代碼管理)。 重申一下,在一台計算機上,我有兩個分支。 一個分支在部署后工作,另一個不工作。
以下是一些額外的觀察結果:
我唯一能想到的是包發生了一些事情(所有新分支和新設備都會從 NuGet 中提取包;其他 PC 較舊的分支應該已經緩存了它們;包不在源代碼控制中)。
我嘗試了 FTP 發布,它在“損壞的”分支上工作。 但是,它要慢得多,所以最好弄清楚 Web Publish 方法的問題是什么。
感謝您的幫助。
編輯
當部署“失敗”時,瀏覽器會顯示此錯誤消息: You do not have permission to view this directory or page.
沒有其他內容,只有那一行文字。
編輯 2
當我查看應用服務中的應用日志stream時,我看到一個更詳細的錯誤頁面顯示具體的HTTP錯誤是403.14。 可能是 web 服務器試圖將該站點視為 static 站點,而不是使用 ASP.NET 路由。
我再次比較了有效分支和無效分支之間的文件內容,web.config、global.asax 等的內容是相同的。
我已將ASP.NET MVC
應用程序從 2 台不同的機器部署到 Azure Web,沒有任何問題。
A call to warmup your site failed with response code: 'Forbidden'.
可能存在一些權限問題或限制 IP 無法訪問應用程序。
確保您在部署的Azure App Service
中沒有任何訪問限制。
為應用服務啟用預熱功能。
- 在導致 403 錯誤(“部署失敗”)的部署之后,對 static 文件的請求仍然有效。
如果應用程序沒有足夠的權限來訪問文件,則會導致此錯誤。
其他 PC 較舊的分支機構已經緩存了它們; 包不在源代碼管理中。
正如您所提到的,緩存 NuGet 包可能存在問題。 檢查 NuGet Package 版本的所有應用程序的.csproj
。
Select 發布應用程序時Remove additional files at destination
選項。
如果您仍然遇到問題,請嘗試使用不同的方法將代碼部署到App Service
。
Overview
頁面獲取發布配置文件。 Publish window
Import Profile
。 Publish profile
並繼續執行后續步驟。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.