1. 개요
Spring Boot 웹 애플리케이션에는 기본적으로 사전 구성된 임베디드 웹 서버가 포함됩니다. 그러나 일부 상황에서는 사용자 지정 요구 사항을 충족 하도록 기본 구성 을 수정 하고 싶습니다 .
이 예제에서는 application.properties 파일을 통해 Tomcat 임베디드 서버를 구성하는 몇 가지 일반적인 사용 사례를 살펴 보겠습니다 .
2. 일반적인 임베디드 Tomcat 구성
2.1. 서버 주소 및 포트
변경할 수 있는 가장 일반적인 구성 은 포트 번호입니다 .
server.port=80
server.port 매개 변수를 제공하지 않으면 기본적 으로 8080 으로 설정 됩니다.
어떤 경우 에는 서버가 바인딩해야하는 etwork 주소를 설정하고자 할 수 있습니다 . 즉, 서버가 수신 할 IP 주소를 정의합니다 .
server.address=my_custom_ip
기본적으로 값은 0.0.0.0 으로 설정되어 모든 IPv4 주소를 통한 연결을 허용합니다. 다른 값 (예 : localhost – 127.0.0.1) 을 설정하면 서버가 더 선택적으로 선택됩니다.
2.2. 오류 처리
기본적으로 Spring Boot는 표준 오류 웹 페이지를 제공합니다 . 이 페이지를 Whitelabel 이라고합니다 . 기본적으로 활성화되어 있지만 오류 정보를 표시하지 않으려면 비활성화 할 수 있습니다.
server.error.whitelabel.enabled=false
Whitelabel 의 기본 경로 는 / error 입니다. server.error.path 매개 변수 를 설정하여 사용자 정의 할 수 있습니다 .
server.error.path=/user-error
또한 표시되는 오류에 대한 정보를 결정하는 속성을 설정할 수도 있습니다. 예를 들어 오류 메시지와 스택 추적을 포함 할 수 있습니다.
server.error.include-exception=true
server.error.include-stacktrace=always
REST에 대한 예외 메시지 처리 및 Whitelabel 오류 페이지 사용자 지정 사용방법(예제) 에서는 Spring Boot의 오류 처리에 대해 자세히 설명합니다.
2.3. 서버 연결
리소스가 적은 컨테이너에서 실행할 때 CPU 및 메모리로드 를 줄이는 것이 좋습니다. 이를 수행하는 한 가지 방법은 애플리케이션에서 처리 할 수있는 동시 요청 수를 제한하는 것입니다. 반대로 더 나은 성능을 얻기 위해 더 많은 사용 가능한 리소스를 사용하도록이 값을 늘릴 수 있습니다.
Spring Boot에서는 Tomcat 작업자 스레드의 최대 양을 정의 할 수 있습니다.
server.tomcat.threads.max=200
웹 서버를 구성 할 때 서버 연결 시간 제한 을 설정하는 것도 유용 할 수 있습니다 . 이것은 연결이 종료되기 전에 연결 후 클라이언트가 요청을 할 때까지 서버가 대기하는 최대 시간을 나타냅니다.
server.connection-timeout=5s
요청 헤더의 최대 크기를 정의 할 수도 있습니다.
server.max-http-header-size=8KB
요청 본문의 최대 크기 :
server.tomcat.max-swallow-size=2MB
또는 전체 게시물 요청의 최대 크기 :
server.tomcat.max-http-post-size=2MB
2.4. SSL
Spring Boot 애플리케이션에서 SSL 지원을 활성화하려면 server.ssl.enabled 속성을 true 로 설정하고 SSL 프로토콜을 정의해야합니다.
server.ssl.enabled=true
server.ssl.protocol=TLS
또한 인증서를 보관하는 키 저장소의 암호, 유형 및 경로를 구성해야합니다.
server.ssl.key-store-password=my_password
server.ssl.key-store-type=keystore_type
server.ssl.key-store=keystore-path
또한 키 저장소에서 키를 식별하는 별칭도 정의해야합니다.
server.ssl.key-alias=tomcat
SSL 구성에 대한 자세한 내용은 Spring Boot 문서 에서 자체 서명 된 인증서를 사용하는 HTTPS를 참조하세요.
2.5. Tomcat 서버 액세스 로그
Tomcat 액세스 로그는 페이지 히트 수, 사용자 세션 활동 등을 측정 할 때 매우 유용합니다.
액세스 로그를 활성화하려면 다음을 설정 하면됩니다.
server.tomcat.accesslog.enabled=true
또한 로그 파일에 추가 된 디렉터리 이름, 접두사, 접미사 및 날짜 형식과 같은 다른 매개 변수도 구성해야합니다.
server.tomcat.accesslog.directory=logs
server.tomcat.accesslog.file-date-format=yyyy-MM-dd
server.tomcat.accesslog.prefix=access_log
server.tomcat.accesslog.suffix=.log
3. 결론
이 예제에서 우리는 몇 가지 일반적인 Tomcat 임베디드 서버 구성을 배웠습니다 . 더 많은 가능한 구성을 보려면 공식 Spring Boot 애플리케이션 속성 문서 페이지 를 방문 하세요.
- https://docs.spring.io/spring-framework/docs/current/reference/html
- https://www.baeldung.com/spring-boot-configure-tomcat
'Java' 카테고리의 다른 글
Maven으로 실행 가능한 JAR을 만드는 방법 (0) | 2021.04.04 |
---|---|
Spring Security OAuth 2 사용방법(예제) (0) | 2021.04.04 |
Thymeleaf에 CSS 및 JS 추가 (0) | 2021.04.04 |
Thymeleaf를 사용하여 Spring에서 통화 서식 지정 (0) | 2021.04.03 |
스프링 데이터 JPA @Query (0) | 2021.03.31 |