我继承了偶尔更新我的代理网站的职责。该网站是一个在Azure上运行的非常基本的静态HTML站点。仅使用新的PDF文档进行更新。几周前,我收到一些安全人员的通知,他们希望网站不要显示死亡的黄色屏幕,而只显示通用的500状态页面。死亡的黄色屏幕显示,可以修改web.config文件来执行此操作。好吧,我没问题。
看起来我没有web.config文件,所以我创建了一个,但是当我通过FTP将它复制到我的Azure账户时,它立即杀死了网站。在查看Azure中的错误日志后,我发现有一个"500.19错误;配置节‘customerror’不能被read...missing a节声明读取“。
这是我的web.config文件:
<?xml version="1.0"?>
<configuration>
<system.web>
<customerrors mode="off" />
</system.web>
</configuration>你知道是怎么回事吗?谢谢!
发布于 2018-09-19 11:15:52
为了处理500个错误,也就是死亡的黄屏,将以下代码添加到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。
https://stackoverflow.com/questions/52393909
复制相似问题