2013-06-07 4 views
0

방금 ​​Appharbor 웹 응용 프로그램에 대한 "유지 관리"모드를 설정했습니다. 구성 변수를 설정하면 사이트에서 사용자를 "유지 보수를위한 다운"페이지로 리디렉션합니다. 이 페이지를 HTTP 503 상태로 반환하면 사이트가 다운 된 동안 색인이 생성되지 않습니다. 다음과 같이 응답 코드를 설정합니다.AppHarbor에 표시 할 사용자 정의 503 오류 페이지를 얻는 방법

public ActionResult Maintenance() 
{ 
    Response.StatusCode = 503; 
    return View(); 
} 

이 모든 것이 로컬 서버에서 원하는 방식으로 작동합니다. 503 상태 코드가있는 사용자 정의보기가 나타납니다. 그러나 일단 AppHarbor에 배포하면 일반 nginx 503 오류 페이지가 나타납니다. nginx가 응답을 가로 채고 자체 오류를 반환하는 것 같습니다. 사용자 정의 시체를 503 상태와 함께 표시하는 방법에 대한 아이디어가 있습니까? 다음은 내가 본 원시 응답입니다.

HTTP/1.1 503 Service Unavailable 
Server: nginx 
Date: Fri, 07 Jun 2013 19:26:09 GMT 
Content-Type: text/html 
Content-Length: 27 
Connection: keep-alive 
Cache-Control: private 

The service is unavailable. 

답변

4

메시지 은 실제로 IIS의 기본 HTTP 503 메시지입니다. 문제는 IIS (nginx가 아님)가 기본적으로 응답을 가로 채고 다시 작성한다는 것입니다.

당신은 너무처럼 web.confighttpErrors 요소를 사용하여이 동작을 구성 할 수 있습니다이를 구성하는 응용 프로그램에 대한 보안 영향을 미칠 수 있음을

<system.webServer> 
    <httpErrors existingResponse="PassThrough"></httpErrors> 
</system.webServer> 

참고. 구성에 대해 자세히 읽을 수 있습니다. httpErrorsin this article

+0

트릭을 수행했습니다. 감사합니다 룬! – ManicBlowfish

관련 문제