2016-09-29 2 views
1

특정 폴더에 대해 기본 인증을 사용할 수 있고 익명으로 사용할 수 없습니다. 또한 사용자를 만들었지 만 내부 서버 오류가 발생하여 페이지를 표시 할 수 없습니다. 브라우저의 메시지. 다음은 실패한 요청 추적의 로그입니다. 나는 이것을 몇 시간 동안보고 있었지만 그것을 해결할 수 없었다.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 비트 윈도우 2012 R2를 함께 IIS 8.5. 누군가 무슨 일이 일어나고 있는지 알고 있습니까? 미리 감사드립니다.

답변

0

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

코멘트가 반드시 영구적 인 것은 아니므로, 나는 당신의 대답에 그 주석을 편집했습니다. 언제든지 제 편집을 조정하거나 추가 정보를 추가하십시오. –

0

오류 메시지 자체는 "절대 경로 ... web.config 파일의 system.webServer/httpErrors 섹션에서 허용되지 않습니다. 상대 경로를 대신 사용하십시오."

그리고 그 원인과 해결책을 분명히 말해줍니다. path으로 설정된 값은 상대 경로 여야합니다. 당신은 예를 들어 아래의 참조를 확인하실 수 있습니다

,

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

0

나는이 문제에 자신을 실행하고 "잘못된 문자가"내 파일로 느끼게 것을 발견했다. 내 500.19 오류는 XML 헤더 자체가 <?xml version="1.0" encoding="UTF-8" ?>인데 web.config가 "잘못된 XML"이되었음을 나타냅니다.

메모장에서 줄을 삭제하고 다시 저장하면 문제가 해결되지만 XML 헤더로 인해 잘못된 XML 오류가 발생합니다! 그래서 Stash의 웹 UI로 돌아가 파일이 원본에서 변경되었는지 확인합니다.

XML 헤더와 같은 줄에 파일의 첫 번째 문자로 빨간색 점이 표시되었습니다. 빨간색 점은 일반적으로 '나쁜 문자'이며 누군가 파일의 인코딩 외부에서 문자를 허용하거나 손상된 저장을 허용하는 편집기를 사용합니다. 그러나 당신이 끝내는 것은 당신의 설정을 읽으려고 할 때 IIS를 깨는 보이지 않는 문자입니다!

그럼, 아기를 목욕탕에 버리지 않도록주의하십시오! 그것은 당신이 잘못 본 것이 아닐 수도 있습니다.

Windows에서 잘못된 문자를 빠르게 수정하면 클립 보드의 "덤 성"(엄격 성)을 사용하고 Ctrl-A, Ctrl-C를 눌러 파일을 삭제하고 같은 이름의 빈 파일을 만들고 Ctrl- V. 메모장은 붙여 넣기 할 때 추가적인 해석을 "돕"려고하지 않기 때문에 이것으로 멋지게 작동합니다. 이렇게하면 클립 보드가 단순히 복사하지 않기 때문에 Windows가 인식하지 못하는 "보이지 않는"문자를 효과적이고 신속하게 제거 할 수 있습니다!

테스트되지 않은 다른 .config 파일 (machine.config, app.configs 등) 중 XML 헤더의 인코딩 값이 일치하지 않는 경우에도 이러한 종류의 문제가 발생할 수 있습니다. IIS는 모든 .config 파일을 함께 읽으므로 다른 인코딩을 존중하지 않습니다. 현재 UTF-8 (ASP NET 4)으로 기본 설정되어 있으므로 웹에서 XML 인코딩을 변경하십시오.config를 사용하여 machine.config가 일치하는지 확인하십시오. 기본값에서 인코딩을 변경하면 위험하다는 것을 여기서 알아야한다고 생각합니다. 도움이된다면하지 마세요!