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

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

스프링으로 웹어플리케이션을 작성하면 기본적인 오류화면은 아래와 같이 "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 부분에는 빈 메시지를 설정하는 것으로 보입니다.

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

댓글

Popular Posts

AI 시대, SEO가 아닌 GEO에 포커싱해야 하는 이유

AI 메모리 HBM 외에 HBF도 주목

네이버 쇼핑 잘 나가네요, 구팡이 절대 강자인줄~