繁体   English   中英

IIS 8.5内部错误500.19

[英]IIS 8.5 Internal error 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>

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

错误消息本身应该是“绝对物理路径...在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,删除文件,创建具有相同名称的空文件和Ctrl-V。 记事本可以很好地处理这个问题,因为在粘贴时它不会尝试“帮助”额外的解释。 这将有效,快速地删除Windows无法识别的任何“隐形”字符,因为剪贴板根本不会复制它们!

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM