programing

ASP를 표시합니다.Azure 웹 앱의 NET 5 오류 페이지입니다.

jooyons 2023. 4. 25. 22:16
반응형

ASP를 표시합니다.Azure 웹 앱의 NET 5 오류 페이지입니다.

ASP를 배포할 때 500 내부 서버 오류가 발생합니다.NET 5 웹 애플리케이션을 Azure 웹 앱에 연결합니다.

여기에 이미지 설명을 입력하십시오.

이 예외에 대한 세부 정보 및 스택 추적을 얻으려면 어떻게 해야 합니까?

다음을 수행했지만 아무런 운이 없습니다.

  • 시작 시 진단 오류 페이지를 사용합니다.

    app.UseErrorPage();

  • 설정 중입니다.ASPNET_ENVAzure 포털에서 다음을 참조하십시오.

Azure 웹 앱 설정입니다.

DNX 베타 6을 사용합니다.

혹시 도움이 될까 봐 ASP를 사용한다면요NET RC1과 Azure WebApps를 사용하고 있으며 다음과 같은 앱 설정을 추가합니다.Hosting:Environment의 값을 가지고 있습니다.development서버 500 오류에 대한 스택 추적이 표시됩니다.

여기에 이미지 설명을 입력하십시오.

이 방법이 작동하려면 개발 환경을 사용할 때 Startup.cs의 Configure 메서드가 Developer Exception 페이지를 사용해야 합니다.예를 들어 다음과 같습니다.

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) {
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
        app.UseDatabaseErrorPage();
    }

    // etc
}

이 게시물(Muhammad 감사합니다)에 따르면 서버의 web.config(정확한 정답, Celt)를 편집하면 Azure에서 런타임 오류를 얻을 수 있을 것입니다.

안타깝게도 이 방법은 작동하지 않았습니다. 자세한 예외는 없습니다.

좀 뒤져보니 "DetailedError" 로그가 있더군요.

DetailedErrors(상세 오류)입니다.

내용은 다음과 같습니다.

HTTP 오류 500.0 - 내부 서버 오류입니다.

문제를 해결하려고 할 때 뭔가 문제가 있었던 것 같습니다.favicon.ico에 있습니다.D:\home\site\wwwroot\favicon.ico.

그 장소에는 정말로 favicon이 없었습니다.제가 이것을 수정했지만, 여전히 같은 문제입니다.사실, 저는 한번도 파비콘을 먹어본 적이 없고, 이게 먹히곤 했어요.

결국, 저는 Azure Portal의 전체 웹 앱을 삭제하고 다시 게시했습니다.타다, 다시 작동해요.

설정해 보십시오.customErrors다음과 같이 Web.config 파일에서 모드를 off로 설정합니다.

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

ASP를 실행하는 Azure 웹 응용 프로그램에서 HTTP 500을 얻을 수 있습니다.NET 5에서는 자세한 오류 출력을 얻을 수 없습니다. 제 경험상으로는 다음 두 가지 이유 중 하나를 들 수 있습니다.

  • Startup.cs이 문제의 원인입니다.
  • 실행 시간을 로드할 수 없습니다.

첫 번째 유형의 문제를 해결하려면 어딘가에 시작 오류를 기록하는 오류 처리기를 작성하는 것이 좋습니다(이 경우 Raygun.io을 사용하므로 사용자의 요구와 기본 설정에 따라 해결 방법이 결정됩니다).

두 번째는 웹 사이트의 진단 기능을 사용하는 것입니다. Windows Server 이벤트 로그에 액세스하면 런타임에 문제가 있는지 알 수 있습니다.

startup.cs에 Azure에서 재생되지 않는 런타임 코드가 있습니다.앱을 이동하여 개발자용 예외 페이지를 강제로 렌더링합니다.UseDeveloper를 사용합니다.ExceptionPage(); 구성(...)의 시작입니다.업데이트된 코드를 Azure에 게시하고 홈 페이지를 다시 로드하면 이제 예외가 도움이 됩니다.

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
     {
          app.UseDeveloperExceptionPage();
      ...
     }

저도 똑같은 문제를 겪었습니다. 항상 500점을 받았고 무엇이 잘못되었는지에 대한 사소한 기록이나 정보는 전혀 보지 못했습니다.Startup.cs의 모든 내용을 코멘트하고 정적 파일에 액세스한 후에도 500개가 나왔습니다(놀랍게도 정적 파일이 올바르게 제공되기도 했지만, 동일한 앱의 게시에서 게시로 변경되었습니다).

배포 중에 일부 파일이 손상되어 이를 탐지하지 못한 것 같습니다.또는 런타임 중에 충돌을 일으킨 일부 파일이 서버에 남아 있을 수 있습니다. 다음 번에는 추가 파일을 서버에 보관하지 않도록 게시 프로파일을 변경하는 것이 좋습니다(기본적으로 삭제되지 않음).

결국 앱을 삭제하고 다시 만들었는데, 문제가 해결되었습니다.

여전히 저처럼 이전 버전의 DNX 스택에 있다면(Visual Studio 2015와 함께 제공된 베타5 사용) 설정이 제대로 문서화되지 않은 것입니다.그 이후로 변경되었다고 생각합니다만, web.config에 저장해야 할 내용은 다음과 같습니다.

  <appSettings>
    <add key="ASPNET_DETAILED_ERRORS" value="true" />
  </appSettings>

언급URL : https://stackoverflow.com/questions/31992141/show-asp-net-5-error-page-in-azure-web-app 입니다.

반응형