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

안녕하세요, 하마연구소 입니다.

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

1

이 오류화면을 없애고 싶다면 아래와 같이 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을 수정해보진 않았습니다.

3

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

5

지금까지 스프링의 Whitelabel 페이지를 없애는 방법을 알아보았습니다.
감사합니다.

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Most Voted
Newest Oldest
Inline Feedbacks
View all comments