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>
我通过删除这四行来解决问题。
错误消息本身应该是“绝对物理路径...不允许在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匹配。我觉得我应该在这里大声呼吁,将默认编码从默认值改为冒险,所以如果您可以提供帮助,请不要这样做!
你能告诉我们你是如何解决问题的? –
是的,只需删除这4行 – MIrrorMirror
由于评论不一定是永久性的,我将该评论编辑为您的答案。请随时调整我的编辑和/或添加额外的信息。 –