programing

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

starjava 2023. 7. 6. 21:43
반응형

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

IIS 7을 사용하여 로컬 컴퓨터에 웹 사이트를 설치했습니다.그러나 라이브 서버에 배포했을 때 다음 오류가 발생했습니다.

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

IIS 7을 사용하도록 Detailed errors오류 페이지 모듈에 있지만 동일하게 나타납니다.무엇이 이유가 될 수 있습니까?

감사해요.

방금 이 오류가 발생했는데 웹.config의 중복된 정적 콘텐츠 MIME 유형으로 인해 발생했습니다.

이 오류는 정적 파일에서만 반환되었습니다. 예를 들어 이미지, CSS, js 파일은 모두 이 오류를 말하고 있었습니다. (텍스트 자체가 오류입니다. 응답에 다른 html 또는 텍스트가 없습니다.)

이를 디버그하는 방법은 정적 콘텐츠에서 웹 구성을 확인하는 것입니다.json 파일 확장자를 로드했습니다.이 작업은 IIS7에서 필요했지만 Json이 서버 수준에서 사전 로드되었기 때문에 IIS8에서 사용되면 앱이 중지됩니다.

    <staticContent>
        <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="30.00:00:00" />
        <mimeMap fileExtension=".json" mimeType="application/json" />
    </staticContent>

그래서 해결책은 이러한 마임을 제거하는 것입니다.한 번에 하나씩 입력하여 필요한 항목과 앱을 삭제할 항목을 확인합니다!

갱신하다

사실 최고의 해결책은 여기 해설자가 제공한 것입니다.제거한 후 추가할 수 있으며, 이는 이미 정의되었는지 여부에 관계없이 항상 작동합니다.다음과 같이:

<remove fileExtension=".json" /> 
<mimeMap fileExtension=".json" mimeType="application/json" />

가장 좋은 첫 번째 방법은 다음과 같이 web.config 파일을 통해 자세한 오류 메시지를 켜는 것입니다.

<configuration>
    <system.webServer>
        <httpErrors errorMode="Detailed"></httpErrors>
    </system.webServer>
</configuration>

이렇게 하면 서버에서 더 자세한 오류 메시지가 표시됩니다.

나의 특별한 경우에, 더 상세한 오류는 나의<defaultDocument>web.config 파일의 섹션이 web.config를 배치한 폴더 수준에서 허용되지 않았습니다.그것은 말했다.

이 경로에서는 이 구성 섹션을 사용할 수 없습니다.이 문제는 섹션이 상위 수준에서 잠겨 있을 때 발생합니다.잠금은 기본적으로(ModeDefault="Deny" 재정의함) 또는 overrideMode="Deny" 또는 기존 allowOverride="false"로 위치 태그에 의해 명시적으로 설정됩니다."

web.config를 수정하여 서버 오류 세부 정보를 표시합니다.

<system.web>
  <customErrors mode="Off" />
</system.web>

다음 httpErrors 섹션을 제거/주석으로 작성해야 할 수도 있습니다.

  <system.webServer>
    <httpErrors errorMode="Custom">
      <remove statusCode="404" />
      <error statusCode="404" path="/Error/Error404" responseMode="ExecuteURL" />
      <remove statusCode="500" />
      <error statusCode="500" path="/Error/Error500" responseMode="ExecuteURL" />
      <remove statusCode="403" />
      <error statusCode="403" path="/Error/Error403" responseMode="ExecuteURL" />
    </httpErrors>
  </system.webServer>

제 경험에 따르면, 당신이 직접적으로 서버 오류를 가지고 있다면, 이것은 어셈블리 버전 불일치로 인해 발생할 수 있습니다.

web.config에 선언된 내용과 bin 폴더 프로젝트의 실제 ddl을 확인합니다.

제가 고쳤어요.과 같은 을 가졌습니다.in web.config:

httpErrors existingResponse="PassThrough"

제거할 때 진짜 오류가 발생했습니다.

경우에는 내경우, 정설정을 합니다.httpErrorsWeb.config와 같은 기능은 문제를 식별하는 데 도움이 되지 않았습니다.

대신에 저는 했습니다:

  1. 오류가 있는 웹 사이트에 대해 "실패한 요청 추적"을 활성화합니다.
  2. HTTP 오류 350-999에 대한 추적을 구성했습니다(만일의 경우). 500을 의심했습니다.
  3. 잘못된 URL을 다시 호출했습니다.
  4. 로그 폴더("%SystemDrive%\inetpub\logs\")에서 확인됨이 경우 "FailedReqLogFiles").
  5. Internet Explorer에서 XML 파일 중 하나를 열었습니다.

그런 다음 자세한 예외 정보가 있는 항목을 보았습니다.나의 경우에는.

\?\C:\Websites\example.com \www\web.config(592) : 고유 키 특성 'fileExtension'이 '.json'으로 설정된 'mimeMap' 유형의 중복 컬렉션 항목을 추가할 수 없습니다.

저는 이제 그것을 해결하고 오류를 수정할 수 있었습니다.그런 다음 "Failed Request Tracking"을 다시 비활성화했습니다.

제가 web.config에서 이 라인을 코멘트한 후에 작동하는 것 같습니다.

<compilation debug="true" targetFramework="4.5.2" />

저는 Azure에서 웹 앱을 실행하는 이 페이지에 도달했습니다.

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

우리가 신청했기 때문에 이 문제에 부딪혔습니다.web.config에서 초기화

<applicationInitialization
    doAppInitAfterRestart="true"
    skipManagedModules="true">
    <add initializationPage="/default.aspx" hostName="myhost"/>
</applicationInitialization>

Azure에서 실행 중인 경우 사이트 슬롯을 확인합니다.생산 슬롯으로 바꾸기 전에 준비 슬롯에서 페이지를 준비해야 합니다.

초기화 페이지가 많은 애플리케이션 초기화 모듈을 추가하여 Azure 앱에 배포했을 때도 동일한 오류가 발생했습니다.이 문제는 응용프로그램 초기화 모듈의 중복 항목으로 판명되었습니다.로그에 오류가 없어서 문제 해결이 어려웠습니다.다음은 오류 코드의 예입니다.

  <configuration>
  <system.webServer>
    <applicationInitialization doAppInitAfterRestart="true" skipManagedModules="true">
      <add initializationPage="/init1.aspx?call=2"/>
      <add initializationPage="/init1.aspx?call=2" />
    </applicationInitialization>
  </system.webServer>

중복 항목이 없는지 확인하십시오. 중복 항목은 허용되지 않는 중복 키로 처리되며 web.config에 대해 "중복 수집 항목을 추가할 수 없습니다" 오류가 발생합니다.

저는 Everliap에서 호스팅을 하다가 Azure로 마이그레이션을 했는데, 거기서 이 오류가 발생했습니다.서버로의 모든 전개에는 web.config'<system>에 다음이 필요했습니다.webServer > 섹션:

<modules>
    <remove name="AspNetCoreModuleV2" />
    <add name="AspNetCoreModuleV2" />
  </modules>

제가 이 코드를 코멘트아웃 했을 때, 앱은 Azure에서 작동했습니다.

이 스택 오버플로 항목이 다음 구문에 대해 높은 순위를 차지하기 때문에 이 항목을 선택한 사용자:

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

이 정확한 오류 메시지가 있는 개인적인 상황에서, 저는 제 .NET API와 함께 파이썬을 사용할 수 있다고 생각하여 파이썬 2.7을 켜 놓았습니다.Visual Studio pro 2013에서 API 또는 MVC의 바닐라 버전을 배포하려고 할 때 정확한 오류 메시지가 표시되었습니다.저는 azure 클라우드 웹 앱에 배포하고 있었습니다.

이것이 저와 같은 경험을 가진 사람들에게 도움이 되기를 바랍니다.제안을 발견하기 전까지는 파이썬을 끌 생각조차 하지 않았습니다.

언급URL : https://stackoverflow.com/questions/30731074/the-page-cannot-be-displayed-because-an-internal-server-error-has-occurred-on-se

반응형