본문 바로가기

tomcat26

728x90
반응형
[톰캣 8.5] 정적 리소스에 CORS 필터가 적용되지 않을 때 현상스프링 프레임워크로 웹 기반 백엔드 시스템을 배포 중에 운영 환경에서 정적 리소스에 CORS 필터가 적용되지 않는 것을 확인하였다. 스프링 프레임워크로 개발한 프로그램을 톰캣에 탑재하여 배포하는 경우에 정적 리소스는 작성한 CORS 필터를 거치지 않기 때문에 발생한 이슈였다.해결 방법톰캣의 web.xml에 아래와 같이 CORS 필터를 설정하면 정적 리소스에도 CORS 필터가 동작한다. corsFilter org.apache.catalina.filters.CorsFilter cors.allowed.origins * cors.allowed.methods .. 2024. 11. 29.
톰캣 가상 호스트 컨텍스트 설정 톰캣 가상 호스트 컨텍스를 설정하는 방법은 아래와 같이 호스트 속성 안에 컨텍스트 속성을 선언하는 것이다. 아래의 사진은 오즈리포트를 위한 톰캣 가상 호스트 컨텍스트가 설정된 화면이다. 2024. 10. 10.
톰캣과 OpenSSL 버전 호환 이슈 "org.apache.tomcat.jni.Error: 70023" 현상톰캣 9에서 HTTPS 프로토콜을 사용하도록 설정하기 위해 네이티브 라이브러리를 사용하려고 했는데 아래와 같이 오류 메시지가 나오면서 정상적으로 동작하지 않았다.SEVERE [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Failed to initialize the SSLEngine. org.apache.tomcat.jni.Error: 70023: This function has not been implemented on this platform원인 및 해결 방법이는 톰캣과 OpenSSL 버전이 맞지 않아서 발생하는 문제였다. 기존 OpenSSL 버전이 'OpenSSL 3.0.2 15 Mar 2022 (Library.. 2024. 6. 10.
[톰캣 9] HTTPS 호스트 설정 톰캣 9에서는 HTTPS 호스트를 두 가지 방법으로 설정할 수 있다.SSLHostConfig 활용아래처럼 HTTPS 통신에 활용할 SSL 정보를 입력할 수 있다.  Connector 옵션 활용아래처럼 Connector 옵션에 SSL 정보를 입력할 수 있다. 2024. 6. 7.
[톰캣 9] HTTP/2 프로토콜을 사용하도록 설정 톰캣 9는 HTTP/2를 지원한다. 커넥터 설정 부분에서 아래의 내용을 아래의 사진처럼 추가하면 HTTP/2로 잘 동작한다. 2024. 5. 27.
[톰캣 9] "The APR based Apache Tomcat Native library was not found" 메시지 해결 아래와 같이  APR 기반 아파치 톰캣 네이티브 라이브러리를 못 찾았다고 메시지가 뜨는 경우가 있다. 일반적으로는 꼭 필요한 기능은 아닌데 HTTP2 등을 사용할거면 해당 라이브러리를 잘 찾도록 설정하는 것이 필요하다.org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [/usr/java/packages/lib/amd64:/usr/lib/x86_64-linux-gnu/jni:/lib/x86_64-.. 2024. 5. 20.
[우분투] 톰캣 실행시 "bin/startup.sh: Permission denied" 오류 해결 방법 현상우분투에서 톰캣을 실행할 때 아래의 사진처럼 "bin/startup.sh: Permission denied" 메시지가 발생하며 실행이 되지 않는다. 해결방법톰캣 파일의 소유주와 그룹에 맞춰서 실행 권한을 부여하면 해결된다. 아래의 실행 권한 부여 명령어를 참조하여 적절하게 실행 권한을 부여한다.chmod u+x *.shchmod g+x *.shchmod o+x *.sh 2024. 4. 23.
[우분투 22.04] 톰캣 서비스 등록하기 CentOS의 정책이 바뀌면서 우분투를 서버 운영체제로 사용하는 경우가 증가하고 있는 추세이다. 본 글에서는 우분투 22.04 환경에서 톰캣 서비스를 등록하는 방법에 대해 설명한다. 톰캣 서비스 등록 아래의 명령어를 입력하여 시스템 서비스에 톰캣 서비스 파일을 생성한다. vi /etc/systemd/system/tomcat.service 톰캣 서비스 파일에 아래의 내용을 입력한다. 환경 변수와 시작 스크립트, 중지 스크립트, 사용자 설정 등을 적절하게 수정한다. [Unit] Description=Apache Tomcat 9.0 Web Application Container After=syslog.target network.target [Service] Type=forking Environment=JAVA.. 2024. 2. 11.
[RHEL 9.2] 톰캣(Tomcat) 설치 아래의 사진처럼 RHEL(Red Hat Enterprise Linux) 9.2에서는 톰캣(Tomcat) 9를 쉽게 설치할 수 있다. 하지만 본 글에서는 원하는 버전으로 설치하기 위해 수동 설치를 진행한다. 1. 톰캣 다운로드 아래의 주소에서 톰캣을 다운로드 받는다. 톰캣 다운로드 주소: https://tomcat.apache.org/download-90.cgi wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.78/bin/apache-tomcat-9.0.76.tar.g 2. 그룹 및 유저 생성 톰캣을 실행한 그룹과 유저를 아래의 명령어로 생성한다. groupadd tomcat useradd -M -s /bin/nologin -g tomcat -d /opt/tomc.. 2023. 7. 30.
[우분투] 톰캣 시간대 설정 톰캣(Tomcat)은 기본적으로 시스템 시간을 따라가지만 특정 시간대로 설정하는 기능을 지원한다. 톰캣의 시간대를 설정하는 방법은 아래와 같다. 톰캣 시간대 수정 아래의 명령어를 입력하여 톰캣 서비스 설정 파일을 연다. vi /etc/systemd/system/tomcat.service 톰캣 실행 옵션에 아래의 설정값을 입력하는 것인데 원하는 시간대에 맞춰서 GMT 값을 입력할 수 있다. -Duser.timezone=GMT+6 아래의 명령어를 입력하여 수정한 서비스 정보를 불러온다. systemctl daemon-reload 아래의 명령어를 입력하여 톰캣을 재기동한다. systemctl restart tomcat 2023. 7. 12.
[IT 용어] 아파치 톰캣(Apache Tomcat) 정의 웹 분야에서 아파치 톰캣(Apache Tomcat)은 WAS(Web Application Server, 웹 어플리케이션 서버) 중 하나이다. 톰캣은 서블릿(Servlet)과 JSP, HTTP 서버 기능을 지원한다. 톰캣은 오픈소스이며 무료로 사용할 수 있다. 참고문서 "Apache Tomcat", 아파치 톰캣 공식 홈페이지. @원문보기 2023. 7. 8.
[CentOS] 톰캣 로그를 실시간으로 확인하는 방법 로그 실시간 확인 방법 CentOS에서 톰캣(Tomcat) 로그를 실시간으로 확인하기 위해서는 톰캣의 동작을 기록하는 파일 'catalina.out'을 계속 읽어오는 읽어와야 한다. 아래의 명령어를 참조하여 자신의 톰캣 경로에 맞게 실행하면 아래의 사진처럼 로그를 계속 잘 읽어오는 것을 확인할 수 있다. tail -f logs/catalina.out 2023. 7. 6.
톰캣 로그 디렉토리 경로와 자동 삭제 스크립트 작성 및 설정 톰캣이 사용하는 로그 디렉토리는 기본적으로는 톰캣 설치 경로에 위치한 'logs' 디렉토리이다. 하지만 설정에 따라 응용별로 로그 위치를 다르게 할 수 있기 때문에 설정을 잘 확인해야 한다. 로그 디렉토리 위치 나의 경우 두 곳에 로그가 기록되고 있었다. 로그 삭제 쉘 스크립트 작성 아래의 스크립트는 톰캣의 모든 로그가 기록되는 'catalina.out' 파일을 현재 일자를 파일명으로 백업하고 내용을 비운 후 로그 폴더 내에서 생성된지 60일이 초과한 파일을 삭제하는 스크립트이다. 아래의 스크립트를 참고하여 자신의 환경에 맞춰서 로그 삭제 쉘 스크립트를 작성한다. TOMCAT_LOG_DIR={톰캣경로}/logs today=`date "+%Y_%m_%d"` cp $TOMCAT_LOG_DIR/catalina.. 2023. 6. 28.
톰캣이 사용하는 임시 디렉토리 경로 톰캣이 사용하는 임시 디렉토리 경로는 실행할 때 별도로 지정해주지 않는 이상 톰캣 설치 경로의 'temp' 디렉토리이다. 아래의 사진처럼 확인할 수 있다. 윈도우 환경에서는 톰캣이 임시 디렉토리 경로로 환경변수 '%temp%'를 사용한다. 절대 경로는 'C:\Users\계정명\AppData\Local\Temp'이다. 참고문서 "톰캣 CATALINA_TMPDIR 경로 문의", 표준프레임워크 포털, 2020년 7월 9일. @원문보기 "Configure Tomcat to use a different temp directory for file uploads", serverfault, 2009년 5월 28일. @원문보기 2023. 6. 28.
아파치 톰캣 세션 만료 시간 설정 방법 아파치 톰캣(Apache Tomcat)의 세션만료 시간을 설정하는 방법은 총 3가지가 있다. 첫 번째는 자바 코드에 세션만료 시간을 설정하는 방법이고 두 번째는 프로젝트 설정 파일에 설정하는 방법이고 세 번째는 톰캣 설정 파일에 설정하는 방법이다. 우선순위는 첫 번째가 가장 높고 그 다음이 두번째이며 세 번째가 가장 낮은 우선순위이다. 설정 방법은 아래와 같다. 1. 자바 코드 아래와 같이 세션의 'MaxInactiveInterval' 값을 설정하면 세션 만료 시간이 설정된다. session.setMaxInactiveInterval(숫자); 2. 프로젝트 설정 웹앱 프로젝트별로 'web.xml'이라는 파일이 하나씩 있다. 이 파일을 열어서 아래와 같이 세션 만료 시간을 설정할 수 있다. 0 3. 톰캣 설.. 2023. 6. 23.
아파치 톰캣 버전별 스펙(Servlet, JSP, EL, WebSocket) 정보 스펙을 확인하는 이유 자바 기반 웹 응용을 개발할 때는 WAS(Web Application Server)가 지원하는 기능별 버전을 고려하여야 한다. 아파치 톰캣 버전별 스펙 Servlet, JSP, EL, WebSocket 등의 내용이 담긴 톰캣 버전별 스펙 정보는 아래의 표와 같다. 아파치 톰캣 버전 최신 출시 버전 서블릿 (Servlet) JSP EL 웹소켓 (WebSocket) 인증 (JASPIC) 자바(Java) 11.0.x 11.0.0-M1 (alpha) 6.1 4 6 TBD TBD 11 또는 최신 10.1.x 10.1.4 6 3.1 5 2.1 3 11 또는 최신 10.0.x (10.1로 대체) 10.0.27 (10.1로 대체) 5 3 4 2 2 8 또는 최신 9.0.x 9.0.70 4 2.3 .. 2023. 1. 12.
톰캣(Tomcat) HTTP/2 지원 정보 HTTP/1.1이 과거에는 주력이었지만 현재는 HTTP/2가 주력이며 현재 네트워크 환경에서 성능 개선 효과를 볼 수 있기 때문에 톰캣(Tomcat)이 HTTP(HyperText Transfer Protocol) 버전을 어디까지 지원하는지를 조사하였다. 톰캣 HTTP 지원 정보 톰캣은 HTTP/1.1를 모든 버전에서 지원하고 있으며 HTTP/2는 톰캣 8.5 버전 이후부터 지원한다. 톰캣은 HTTP/3는 아직 지원하지 않는다. 참고문서 "Which version?", Apache Tomcat. @원문보기 2022. 12. 29.
[CentOS] 톰캣(Tomcat)이 IPv4를 우선 사용하도록 설정 구동할 프로그램이 IPv4 주소만 지원하도록 구현했다면 톰캣(Tomcat) WAS가 IPv4 주소를 우선적으로 사용하도록 설정하는 것이 필요하다. 이클립스에서 개발할 때 설정하는 방법은 아래의 링크에서 설명하였고 본 글에서는 CentOS에서 설정하는 방법을 소개한다. 2022.08.12 - [소프트웨어 개발(Software Development)/톰캣(Tomcat)] - 이클립스에서 톰캣(Tomcat)이 IPv4 주소만 사용하도록 설정 이클립스에서 톰캣(Tomcat)이 IPv4 주소만 사용하도록 설정 톰캣이 IPv4 주소만 사용하도록 설정하는 이유 가장 많이 사용되는 네트워크 주소체계로 IP(Internet Protocol)을 흔히 말한다. IP 주소에는 IPv4와 IPv6라는 두 가지 버전의 주소체계가.. 2022. 10. 5.
이클립스에서 톰캣(Tomcat)이 IPv4 주소만 사용하도록 설정 톰캣이 IPv4 주소만 사용하도록 설정하는 이유 가장 많이 사용되는 네트워크 주소체계로 IP(Internet Protocol)을 흔히 말한다. IP 주소에는 IPv4와 IPv6라는 두 가지 버전의 주소체계가 있는데 톰캣(Tomcat)의 경우 둘 다 지원한다. 하지만 이미 개발되어 있는 응용 프로그램이 IPv4만 지원한다면 톰캣이 IPv4 주소만 사용하도록 강제할 필요가 있다. 그렇지 않으면 주소 길이 등의 문제로 해당 응용 프로그램이 온갖 오류가 발생할 것이고 정상적인 동작을 수행할 수 없을 것이다. 톰캣이 IPv4 주소만 사용하도록 설정하는 방법 톰캣을 실행할 때 옵션으로 아래의 내용을 입력하면 된다. 본 글에서는 이클립스(Eclipse) IDE(Integrated Development Environm.. 2022. 8. 12.
[이클립스] 톰캣(Tomcat) 인코딩(Encoding) 및 메모리(Memory) 설정 인코딩과 메모리를 설정해야하는 이유 톰캣(Tomcat)이 사용할 인코딩(Encoding)과 메모리(Memory)를 명시적으로 선언하여야 개발할 때 문제가 발생하지 않는다. 인코딩이 맞지 않으면 의도와 다른 데이터가 입력 혹은 출력될 수 있고 사용하는 메모리 크기가 적절하게 선언되지 않으면 톰캣이 메모리 부족 등의 이유로 죽을(Down)수도 있다. 인코딩 및 메모리 설정 방법 본 글에서는 이클립스를 기준으로 톰캣을 설정하는 것을 설명한다. 위와 같이 사진에서 'Open launch configuration'을 클릭하여 톰캣 설정화면으로 이동한다. 인자(Arguments) 탭(Tab)으로 이동한 후 아래의 명령어를 참고하여 위의 사진처럼 입력하고 'OK' 버튼을 누른다. 톰캣 메모리 영역 크기 설정 -Xms.. 2022. 8. 9.