Azure Web 应用程序:favicon.ico 上的 HTTP 错误 500
Posted
技术标签:
【中文标题】Azure Web 应用程序:favicon.ico 上的 HTTP 错误 500【英文标题】:Azure Web App: HTTP Error 500 on favicon.ico 【发布时间】:2015-11-26 08:01:57 【问题描述】:发布到 Azure Web App 后,我经常收到以下 500 服务器错误。
如果我删除 Web 应用程序,重新创建它并重新发布,一切都会再次正常。
我通过打开诊断(在 Azure 门户中)并在 Visual Studio 2015 的 Cloud Explorer 中找到详细的错误页面来检索以下错误页面:
错误页面:
HTTP 错误 500.0 - 内部服务器错误
页面无法显示 因为发生了内部服务器错误。
最可能的原因:
IIS 收到请求;然而,一个内部 处理请求期间发生错误。的根本原因 这个错误取决于哪个模块处理请求以及什么是 发生此错误时在工作进程中发生。 IIS 没有 能够访问网站或应用程序的 web.config 文件。 如果 NTFS 权限设置不正确,可能会发生这种情况。 IIS 是 无法处理网站或应用程序的配置。 该 经过身份验证的用户没有使用此 DLL 的权限。 该 请求映射到托管处理程序,但 .NET 可扩展性 未安装功能。您可以尝试的事情:
确保 NTFS 权限 web.config 文件是正确的并允许访问 Web 服务器的 机器帐号。 检查事件日志以查看是否有任何其他 信息被记录。 验证 DLL 的权限。 安装 .NET 可扩展性功能(如果请求映射到托管 处理程序。 创建跟踪规则以跟踪此 HTTP 的失败请求 状态码。有关创建跟踪规则的详细信息 请求失败,请点击此处。详细错误信息:
模块 ManagedPipelineHandler
通知 MapRequestHandler
处理程序静态文件
错误码 0x00000000
请求的网址 http://myurl:80/favicon.ico
物理路径 D:\home\site\wwwroot\favicon.ico
登录方式匿名
登录用户匿名
解决 favicon.ico 似乎存在问题。我已经在 wwwroot 部署中包含并排除了它,但没有区别。
有谁知道可能出了什么问题?
注意:如果重要的话,我正在使用来自 MSDN 的 the following publish script。
这与我的previous posts 之一有关。
【问题讨论】:
我现在遇到了同样的问题,真的很烦人。我可以很好地推送我的代码,该过程中没有错误;但是一旦我尝试访问该网站,我就会收到 500 错误。有什么解决办法吗? 【参考方案1】:使用 ASP.NET 5 可能很难捕获错误。在您的 Startup.cs
文件中,您有一个 Configure
方法。像这样将 Configure
方法中的所有内容包装到 try-catch
块中。然后你可以慢慢构建你的应用程序,看看它什么时候出问题。至少您会知道它不在 Configure
方法中,或者如果是,那么您现在将知道哪一点附加功能将它搞砸了。您也可以在其他方法中使用此策略。
public void Configure(IApplicationBuilder app)
// HACK: for Azure web apps,
// the try-catch block lets us see errors that occur during configuration
try
app.UseErrorPage();
app.UseRuntimeInfoPage();
app.UseStaticFiles();
// add in remaining functionality one bit at a time...
catch (Exception ex)
app.Run(async (context) =>
await context.Response.WriteAsync(ex.ToString());
);
// Run on each request
app.Run(async (context) =>
await context.Response.WriteAsync("Hooray. It didn't error out.");
【讨论】:
我肯定有一个难题?我的错误页面是在抱怨 favicon.ico。【参考方案2】:我的问题最终是我为我的 API 启用了帮助区域并将其设置为使用自动生成的 XML,但没有在我的解决方案中包含该 XML 文件(因此它没有发布到天蓝色)。不知道为什么它会抱怨这个网站图标。
【讨论】:
把我的培根救了两次!【参考方案3】:此错误消息有点令人困惑。真正的问题在于 Startup.cs。您必须通过在开发人员模式下打开应用程序来发现它: Show ASP.NET 5 error page in Azure web app
【讨论】:
以上是关于Azure Web 应用程序:favicon.ico 上的 HTTP 错误 500的主要内容,如果未能解决你的问题,请参考以下文章
将 Azure Web 应用程序移入新的 Azure 应用程序服务计划?
Azure:仅允许使用 *** 从本地访问 Web 应用程序
通过 Azure Devops 将 .Net Core 3.1 Web 应用程序部署到 Azure Linux Web 服务时出错