Azure上的静态HTML站点; 500.19错误;配置部分'customerrors'无法读取...缺少部分声明

问题描述 投票:0回答:1

我继承了更新我的代理网站的偶然职责。该网站是一个在Azure上运行的非常基本的静态HTML网站。仅使用新的PDF文档进行更新。几个星期前,我收到一些安全人员的通知,他们希望网站不显示黄色的死亡屏幕,而只显示通用的500状态页面。死亡的黄色屏幕表示可以修改web.config文件来执行此操作。好的,我很好。

看了之后,我没有web.config文件,所以我创建了一个,但当我通过FTP将其复制到我的Azure帐户时,它立即杀死了网站。在查看Azure中的错误日志后,我发现存在“500.19错误;无法读取配置部分'客户错误'...缺少部分声明”。

这是我的web.config文件:

<?xml version="1.0"?>
<configuration>
<system.web>
<customerrors mode="off" />
</system.web>
</configuration>

关于发生了什么的任何想法?谢谢!

azure web-config azure-web-sites
1个回答
0
投票

为了处理500个错误,又名Yellow Screens of Death,将以下内容添加到web.config中,再次显示为配置转换。

<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <system.web>
    <customErrors mode="RemoteOnly" defaultRedirect="500.aspx" redirectMode="ResponseRewrite" xdt:Transform="SetAttributes">
      <error statusCode="500" redirect="500.aspx" xdt:Transform="Insert" />
    </customErrors>
  </system.web>
</configuration>

添加到站点根目录的500.aspx页面在文件顶部包含以下标记:

<% 
    Response.StatusCode = 500;
    Response.TrySkipIisCustomErrors = true;
 %>

注意:对于500页应特定于站点的多站点环境,这不是理想的选择。为了解决这个问题,请将逻辑添加到500.aspx页面,以便在请求hostName时适当地传输请求。

有关更多详细信息,请参阅此article

© www.soinside.com 2019 - 2024. All rights reserved.