IIS 8.5内部错误500.19

时间:2016-09-29 16:45:36

标签: iis iis-8

我为特定文件夹启用了基本身份验证,并禁用了匿名身份验证。我也创建了用户,但是我得到了“因为发生内部服务器错误而无法显示页面”。浏览器上的消息。以下是失败的请求跟踪的日志。我已经看了好几个小时但没能解决它。

当我访问任何非现有页面时会触发相同的错误,例如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。有人知道发生了什么吗?提前谢谢。

3 个答案:

答案 0 :(得分:0)

似乎web.config中的以下行引起了麻烦。还是不知道为什么。

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

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

答案 1 :(得分:0)

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

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

您可以查看以下参考资料,例如

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

答案 2 :(得分:0)

我自己遇到了这个问题,并发现了一个“坏人”#34;已经悄悄进入我的档案。我的500.19错误告诉我,XML标头本身<?xml version="1.0" encoding="UTF-8" ?>导致web.config出现格式错误的XML&#34;。

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

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

所以,小心不要用洗澡水把婴儿扔出去!可能不是你看到的那个错误。

在Windows中,对坏人物的快速修复就是使用剪贴板&#34; dumbness&#34; (严格性)并执行Ctrl-A,Ctrl-C,删除文件,创建一个具有相同名称的空文件,然后按Ctrl-V。记事本与此完美配合,因为它不会尝试帮助&#34;粘贴时附加解释。这将有效,快速地删除任何&#34;隐形&#34; Windows无法识别的字符,因为剪贴板根本无法复制它们!

虽然未经测试,但其他.config文件(machine.config,app.configs等)中的XML标头中的编码值不匹配也可能导致此类问题。已经注意到,IIS不会同时考虑所有的.config,因此不会尊重不同的编码。目前它默认为UTF-8(ASP NET 4),因此如果您出于某种原因在web.config中更改XML编码,请确保您的machine.config匹配。我觉得我应该在这里打电话说,改变你的编码远离默认值是有风险的,所以如果你能提供帮助就不要这样做!