IIS 8.5内部错误500.19

问题描述:

我为特定文件夹和匿名禁用启用了基本身份验证。我也创建了用户,但是我收到“由于发生内部服务器错误,无法显示页面。”消息在浏览器上。以下是失败请求跟踪的日志。我一直在看这个小时,但没能解决它。IIS 8.5内部错误500.19

,当我访问任何不存在的网页同样的错误触发,例如http://144.144.144.144/adas

<failedRequest url="http://144.144.144.144:80/adas" 
       siteId="1" 
       appPoolId="DefaultAppPool" 
       processId="824" 
       verb="GET" 
       remoteUserName="" 
       userName="" 
       tokenUserName="NT AUTHORITY\IUSR" 
       authenticationType="anonymous" 
       activityId="{80000068-0002-FF00-B63F-84710C7967BB}" 
       failureReason="STATUS_CODE" 
       statusCode="500.19" 
       triggerStatusCode="500.19" 
       timeTaken="0" 
       xmlns:freb="http://schemas.microsoft.com/win/2006/06/iis/freb" 
       > 

日志的基本身份验证:

<?xml version="1.0" encoding="UTF-8" ?> 
<?xml-stylesheet type='text/xsl' href='freb.xsl'?> 
<!-- saved from url=(0014)about:internet --> 
<failedRequest url="http://144.144.144.144:80/admin/" 
       siteId="1" 
       appPoolId="DefaultAppPool" 
       processId="820" 
       verb="GET" 
       authenticationType="NOT_AVAILABLE"    activityId="{8000000E-0002-FF00-B63F-84710C7967BB}" 
       failureReason="STATUS_CODE" 
       statusCode="500.19" 
       triggerStatusCode="500.19" 
       timeTaken="0" 
       xmlns:freb="http://schemas.microsoft.com/win/2006/06/iis/freb" 
       > 
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event"> 
<System> 
    <Provider Name="WWW Server" Guid="{3A2A4E84-4C21-4981-AE10-3FDA0D9B0F83}"/> 
    <EventID>0</EventID> 
    <Version>1</Version> 
    <Level>0</Level> 
    <Opcode>1</Opcode> 
    <Keywords>0x0</Keywords> 
    <TimeCreated SystemTime="2016-09-29T15:24:04.662Z"/> 
    <Correlation ActivityID="{8000000E-0002-FF00-B63F-84710C7967BB}"/> 
    <Execution ProcessID="820" ThreadID="3756"/> 
    <Computer>OWNEROR-9DTV6I9</Computer> 
</System> 
<EventData> 
    <Data Name="ContextId">{8000000E-0002-FF00-B63F-84710C7967BB}</Data> 
    <Data Name="SiteId">1</Data> 
    <Data Name="AppPoolId">DefaultAppPool</Data> 
    <Data Name="ConnId">1610612749</Data> 
    <Data Name="RawConnId">0</Data> 
    <Data Name="RequestURL">http://144.144.144.144:80/admin/</Data> 
    <Data Name="RequestVerb">GET</Data> 
</EventData> 
<RenderingInfo Culture="el-GR"> 
    <Opcode>GENERAL_REQUEST_START</Opcode> 
</RenderingInfo> 
<ExtendedTracingInfo xmlns="http://schemas.microsoft.com/win/2004/08/events/trace"> 
    <EventGuid>{D42CF7EF-DE92-473E-8B6C-621EA663113A}</EventGuid> 
</ExtendedTracingInfo> 
</Event> 
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event"> 
<System> 
    <Provider Name="WWW Server" Guid="{3A2A4E84-4C21-4981-AE10-3FDA0D9B0F83}"/> 
    <EventID>0</EventID> 
    <Version>1</Version> 
    <Level>0</Level> 
    <Opcode>33</Opcode> 
    <Keywords>0x0</Keywords> 
    <TimeCreated SystemTime="2016-09-29T15:24:04.662Z"/> 
    <Correlation ActivityID="{8000000E-0002-FF00-B63F-84710C7967BB}"/> 
    <Execution ProcessID="820" ThreadID="3756"/> 
    <Computer>OWNEROR-9DTV6I9</Computer> 
</System> 
<EventData> 
    <Data Name="ContextId">{8000000E-0002-FF00-B63F-84710C7967BB}</Data> 
    <Data Name="HttpStatus">500</Data> 
    <Data Name="HttpSubStatus">19</Data> 
    <Data Name="FileNameOrURL"></Data> 
</EventData> 
<RenderingInfo Culture="el-GR"> 
    <Opcode>GENERAL_SEND_CUSTOM_ERROR</Opcode> 
</RenderingInfo> 
<ExtendedTracingInfo xmlns="http://schemas.microsoft.com/win/2004/08/events/trace"> 
    <EventGuid>{D42CF7EF-DE92-473E-8B6C-621EA663113A}</EventGuid> 
</ExtendedTracingInfo> 
</Event> 
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event"> 
<System> 
    <Provider Name="WWW Server" Guid="{3A2A4E84-4C21-4981-AE10-3FDA0D9B0F83}"/> 
    <EventID>0</EventID> 
    <Version>1</Version> 
    <Level>0</Level> 
    <Opcode>2</Opcode> 
    <Keywords>0x0</Keywords> 
    <TimeCreated SystemTime="2016-09-29T15:24:04.662Z"/> 
    <Correlation ActivityID="{8000000E-0002-FF00-B63F-84710C7967BB}"/> 
    <Execution ProcessID="820" ThreadID="3756"/> 
    <Computer>OWNEROR-9DTV6I9</Computer> 
</System> 
<EventData> 
    <Data Name="ContextId">{8000000E-0002-FF00-B63F-84710C7967BB}</Data> 
    <Data Name="BytesSent">222</Data> 
    <Data Name="BytesReceived">466</Data> 
    <Data Name="HttpStatus">500</Data> 
    <Data Name="HttpSubStatus">19</Data> 
</EventData> 
<RenderingInfo Culture="el-GR"> 
    <Opcode>GENERAL_REQUEST_END</Opcode> 
</RenderingInfo> 
<ExtendedTracingInfo xmlns="http://schemas.microsoft.com/win/2004/08/events/trace"> 
    <EventGuid>{D42CF7EF-DE92-473E-8B6C-621EA663113A}</EventGuid> 
</ExtendedTracingInfo> 
</Event> 
</failedRequest> 

服务器规格是:64位Windows 2012 R2与IIS 8.5。有人知道发生了什么吗?先谢谢你。

它似乎在web.config中的以下行引起了麻烦。仍然不知道为什么。

<httpErrors errorMode="DetailedLocalOnly"> 
     <remove statusCode="404" subStatusCode="-1" /> 
     <error statusCode="404" prefixLanguageFilePath="" path="C:\inetpub\wwwroot\notfound.htm" responseMode="File" /> 
    </httpErrors> 

我通过删除这四行来解决问题。

+0

你能告诉我们你是如何解决问题的? –

+1

是的,只需删除这4行 – MIrrorMirror

+0

由于评论不一定是永久性的,我将该评论编辑为您的答案。请随时调整我的编辑和/或添加额外的信息。 –

错误消息本身应该是“绝对物理路径...不允许在web.config文件的system.webServer/httpErrors部分中使用相对路径。”

而且这清楚地说明了原因和解决方案。该值设置为path必须是相对路径。

您可以检查以下例如参考,

https://www.iis.net/configreference/system.webserver/httperrors/error

我就遇到了这个问题我自己,发现“坏角色”已经悄悄进入我的文件。我的500.19错误告诉我,XML头本身<?xml version="1.0" encoding="UTF-8" ?>导致web.config是“格式不正确的XML”。

删除记事本中的行并重新保存解决了问题,但为什么XML标头会导致格式错误的XML错误?所以我回到Stash的Web UI来查看文件,看它是否在源代码中发生了变化。

这就是我在这里注意到一个红点作为文件的第一个字符,与XML标题位于同一行。红点通常是一个'坏字符',有人使用的编辑器允许来自文件编码之外的字符,或者可能是损坏的保存。但是你最终得到的是一个看不见的字符,当它读取你的配置文件时会打断IIS!

所以,小心不要把宝宝扔出去洗澡水!这可能不是你认为那是错的。

在windows中,对坏字符的快速修复是使用剪贴板的“哑巴”(严格)并执行Ctrl-A,Ctrl-C,删除文件,创建一个具有相同名称的空文件, V.记事本很好地适用于此,因为它不会在粘贴时尝试“帮助”额外的解释。这将有效快速地移除Windows无法识别的任何“隐形”字符,因为剪贴板不会复制它们!

虽然未经测试,但其他.config文件(machine.config,app.configs等)中的XML标头中的编码值不匹配也可能导致此类问题。已经注意到,IIS将不会考虑不同的编码,因为它将所有.configs读取在一起。目前它默认为UTF-8(ASP NET 4),所以如果你在你的网络中改变你的XML编码。配置出于某种原因,请确保您的machine.config匹配。我觉得我应该在这里大声呼吁,将默认编码从默认值改为冒险,所以如果您可以提供帮助,请不要这样做!