[asp.net] 웹 사이트 배포 : 500-내부 서버 오류

ASP.NET 응용 프로그램을 배포하려고합니다. 사이트를 IIS에 배포했지만 브라우저를 사용하여 사이트를 방문하면 다음과 같이 표시됩니다.

서버 오류

500 내부 서버 오류.

찾고있는 리소스에 문제가있어 표시 할 수 없습니다.

web.config로 둘러 본 후 나는

내부 서버 오류가 발생하여 페이지를 표시 할 수 없습니다.

이 서버 오류의 실제 문제를 어떻게 확인할 수 있습니까?



답변

먼저 웹 메시지의 자세한 오류를 활성화하고 확인해야 합니다. 이는 보안상의 이유로 실제로 발생하는 정보를 제공하지 않는 일반적인 메시지이므로 웹 메시지의 자세한 오류 를 확인해야합니다.

자세한 오류가 있으면 여기에서 실제 문제를 찾을 수 있습니다.

또한 서버에서 브라우저를 실행할 수있는 경우 서버는 사용자가 로컬임을 인식하여 사용자에게 표시하므로 오류에 대한 세부 사항을 얻습니다. 또는 이벤트 뷰어를 사용하여 서버 의 로그읽을 수있는 경우 오류 세부 사항도 볼 수 있습니다.

IIS 6

<configuration>
    <system.web>
        <customErrors mode="Off"/>
        <compilation debug="true"/>
    </system.web>
</configuration>

IIS 7에서

<configuration>
    <system.webServer>
        <httpErrors errorMode="Detailed" />
        <asp scriptErrorSentToBrowser="true"/>
    </system.webServer>
    <system.web>
        <customErrors mode="Off"/>
        <compilation debug="true"/>
    </system.web>
</configuration>

참고 : Debug = true를 피할 수 있습니다 . 잠시 동안 사용자 지정 오류 만 닫고 자세한 오류 페이지를 가져와야합니다.

참조 : Go Daddy의 도움말 에서 Windows 사용자 지정 오류 메시지 활성화

또한, 이것은 도움이 될 수 있습니다 : (IIS로부터) 자세한 오류 메시지를 활성화하는 방법 .


답변

나는이 문제에 대해 머리카락을 뽑고있었습니다. 루트 web.config파일 에 다음 항목이 있는지 확인하십시오 .

<configuration>
  <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
  </system.webServer>
</configuration>

기존 XML 요소가 이미있는 경우이를 추가해야합니다 . 요소의 여러 사본을 가질 수 없으므로 파일 끝에 추가 할 수 없습니다.


답변

나에게 web.config의 다음 코드가 범인이었습니다. 그것을 제거했을 때 웹 사이트는 잘 작동했습니다.

  <staticContent>
    <mimeMap fileExtension=".mp4" mimeType="video/mp4" />
  </staticContent>


답변

godaddy.ocm 공유 호스팅에 ASP.NET MVC 3.0 응용 프로그램을 배포 할 때이 “500 Internal server”오류를 마침내 해결했습니다.

어떻게 든 참조 된 DLL 파일 버전과 file에 언급 된 버전에 불일치가있었습니다 web.config.

다양한 포럼에서 언급 한 모든 옵션을 시도했습니다. 모든 사람이 같은 종류의 수정을 제안했지만 도움이되지는 않았지만 어떻게 든 내 시나리오에서는 작동하지 않았습니다. 마침내 이틀 동안 내 머리를 두드리다. 모든 DLL 파일 참조를 삭제하고 프로젝트에서 web.cofig (로컬 복사본 만들기)를 삭제하고 응용 프로그램에서 오류를 throw 한 다음 DLL 파일을 하나씩 로컬 = true로 복사하여 추가하기로 결정했습니다.

모든 DLL 파일을 추가 한 후 새 ASP.NET MVC 응용 프로그램을 만들고 새 응용 프로그램의 web.config를 실제 응용 프로그램에 복사했습니다. 따라서 실제 응용 프로그램에 새로운 web.config가 생겼으며 저장 한 web.config의 로컬 복사본에서 연결 문자열 및 기타 참조를 복사했습니다.

방금 응용 프로그램을 컴파일하고 로컬 폴더에 게시하고 게시 된 폴더를 FTP로 goDaddy에 게시했습니다.

그것은 효과가 있었고 마침내 내 문제가 해결되었습니다.


답변

제 경우에는 제 web.config파일에 실수를했습니다 . 애플리케이션 키는 어떻게 든 <appSettings> 태그 아래에 있습니다. 그러나 왜 구성 오류가 표시되지 않는지 궁금합니다. 오류 500은 문제를 조사하기에는 너무 일반적입니다.


답변

HTML 만 제공하는 매우 간단한 사이트를 게시 한 다음 실행하려는 첫 번째 시도는 “내부 서버 오류가 발생하여 페이지를 표시 할 수 없습니다.”

문제 : Visual Studio에서 사이트를 .NET 3.5로 설정했지만 (웹 사이트 프로젝트-> 속성 페이지-> 빌드를 마우스 오른쪽 버튼으로 클릭) Azure의 웹 사이트를 .NET 4.0으로 구성했습니다. 죄송합니다! Azure에서는 3.5로 변경했으며 작동했습니다.


답변

다른 제안을뿐만 아니라, 변경 확인 existingResponse의 속성 httpErrors에 노드 Auto에서 Replace, 또는 완전히 그 속성을 제거 할 수 있습니다.

<httpErrors existingResponse="Replace" />
                              ^^^^^^^ not going to work with this here