IT/PROGRAMMING

[Spring] 웹어플리케이션의 Whitelabel 오류 페이지 비활성화

하마연구소장 2019. 2. 19. 02:10
728x90
반응형

스프링으로 웹어플리케이션을 작성하면 기본적인 오류화면은 아래와 같이 "Whitelabel Error Page"가 보일것이다.


이 오류화면을 없애고 싶다면 아래와 같이 application.properties 파일에 설정을 추가하면 된다.

server.error.whitelabel.enabled=false


위 설정은 ErrorProperties.Whitelabel로 바인딩되는데, 기본값은 true 이다.

package org.springframework.boot.autoconfigure.web;

. . .


public class ErrorProperties {

.

.

.


public static class Whitelabel {

/**
* Whether to enable the default error page displayed in browsers in case of a
* server error.
*/
private boolean enabled = true;

public boolean isEnabled() {
return this.enabled;
}

public void setEnabled(boolean enabled) {
this.enabled = enabled;
}

}

}


이렇게 Whitelabel 오류 페이지를 비활성화 시키면 아래와 같이 오류페이지가 바뀐것을 볼 수 있다.
spring-boot-starter-web 기본 WAS인 Tomcat의 오류화면이 보인다.
더 안이쁘다. 심지어 톰캣 버전 정보도 보인다.
이 톰캣 오류 정보를 표시하지 않으려면 톰캣 서버 설정 파일인 "server.xml"을 설정해야한다.
개인적으로 설치형 Tomcat의 server.xml을 수정하여 오류 페이지를 변경한 경험은 있지만, spring-boot의 embedded tomcat의 server.xml을 수정해보진 않았다.


만약 WAS를 Jetty로 변경하면 아래와 같이 브라우저 기본 오류 페이지를 확인할 수 있다.
Jetty는 HTTP 오류 코드만 보내고 body 부분에는 빈 메시지를 설정하는 것으로 보인다.


반응형