반응형

전체 글 120

[1편] Apache와 Tomcat 개요 및 설치 전 준비

[1편] Apache와 Tomcat 개요 및 설치 전 준비Apache와 Tomcat은 많은 기업의 웹서비스 백엔드에서 사용되는 핵심 오픈소스 웹 서버 및 애플리케이션 서버입니다.이 시리즈에서는 설치부터 구성, 운영, 장애 분석까지 실무에 필요한 내용을 순서대로 정리합니다.✅ WEB / WAS 개념 정리구분설명Web Server (Apache)정적 파일 처리(HTML, JS, CSS, 이미지), 요청 분산WAS (Tomcat)Java 기반 동적 콘텐츠 처리(JSP, Servlet), DB 연동🔹 Web Server 주요 기능정적 파일 처리가상호스트(VirtualHost)로 다중 도메인 운영mod_jk 등을 통한 WAS 연동 및 로드밸런싱MPM 설정으로 병렬 요청 처리 설정 가능🔹 WAS 주요 기능JVM..

Web Servers 2025.05.15

[장애 사례] Oracle HTTP Server OHS 프록시 연동 소켓 예외 (HALF_OPEN_SOCKET_RETRY / WRITE_ERROR_TO_CLIENT)

[장애 사례] Oracle HTTP Server OHS 프록시 연동 소켓 예외 (HALF_OPEN_SOCKET_RETRY / WRITE_ERROR_TO_CLIENT)Oracle HTTP Server(OHS) 운영 중 WebLogic 연동 구간에서 다음과 같은 에러 로그가 반복 출력되는 사례가 있습니다.이는 OHS와 WebLogic 간 통신 중 소켓 상태가 비정상적으로 종료되거나, 클라이언트와의 연결이 조기 끊어진 경우 발생합니다.✅ 주요 에러 메시지 요약Exception type [HALF_OPEN_SOCKET_RETRY] → attempt to read from disconnected socket: Was unexpected EOFException type [WRITE_ERROR_TO_CLIENT] →..

Web Servers 2025.05.15

[장애 사례] Apache rotatelogs 설정 오류로 인한 쓰레드 릭(Thread Leak) 현상

[장애 사례] Apache rotatelogs 설정 오류로 인한 쓰레드 릭(Thread Leak) 현상이번 사례는 Apache 2.4 환경에서 잘못된 rotatelogs 설정으로 인해쓰레드 누수(Thread Leak) 및 서비스 중단 현상이 발생한 기술지원 사례입니다.✅ 환경 정보Apache 버전: 2.4.58현상 발생 서버: CentOS 기반 웹서버✅ 장애 증상1. 1초 간격으로 아래와 같은 에러 로그 지속 발생Incorrect number of argumentsUsage: /usr/local/httpd-2.4.58/bin/rotatelogs [-vlfDtTec] [-L linkname] [-p prog] [-n number] {|(B|K|M|G)} [offset minutes from UTC]2. ..

Web Servers 2025.05.15

[장애 사례] Apache child pid exit signal Segmentation fault (11)

[장애 사례] Apache child pid exit signal Segmentation fault (11)Apache HTTP Server 운영 중 다음과 같은 치명적인 에러 로그가 발생했다면?✅ 에러 메시지[core:notice] AH00052: child pid 214988 exit signal Segmentation fault (11)✅ Segmentation fault란?프로세스가 잘못된 메모리 주소를 접근했을 때 발생하는 치명적인 오류리눅스에서는 시그널 11(SIGSEGV) 로 표현되며, 프로세스는 즉시 종료됨✅ 주요 발생 원인유형설명Apache 모듈 충돌mod_jk, mod_php, mod_security 등의 외부 모듈에서 메모리 오류PHP 확장 오류PHP 모듈 또는 라이브러리 버그로 인한..

Web Servers 2025.05.15

[장애 사례] Apache apr_thread_create: unable to create work 오류

[장애 사례] Apache apr_thread_create: unable to create work 오류운영 중인 Apache 서버에서 다음과 같은 치명적인 로그를 남기고 프로세스가 종료되는 경우가 있습니다.✅ 에러 메시지 요약[alert] (11)Resource temporarily unavailable: apr_thread_create: unable to create work[alert] Child XXXXX returned a Fatal error... Apache is exiting![warn] child process XXXXX still did not exit, sending a SIGTERM✅ 원인 요약이 오류는 Apache HTTP Server가 내부 작업 스레드 또는 프로세스를 생성하려 ..

Web Servers 2025.05.15

JBoss 장애 사례: 설정 실수 및 시스템 환경 문제로 인한 장애

JBoss 장애 사례: 설정 실수 및 시스템 환경 문제로 인한 장애이번 글에서는 Web/WAS 운영 중 다음과 같은 시스템 환경 문제와 설정 실수로 인해 발생하는 장애 사례들을 소개합니다.파일 핸들 초과권한 오류파일 복제 시스템 문제 (NAS 등)외부 패치 반영 누락✅ 1. Too many open files 오류🔹 증상WAS 기동 도중 예외 발생DB 연결 또는 파일 접근 시 에러 로그 출력Too many open files 또는 EMFILE 메시지🔹 원인리눅스 OS의 open file 수 제한JBoss는 소켓, 로그, 라이브러리 등 많은 파일 핸들을 사용🔹 해결 방법현재 제한 확인ulimit -n시스템 전체 수정vi /etc/security/limits.confjboss soft nofile 65..

JBoss 장애 사례: 세션 끊김, 로그 비정상, 비정상 배포 장애

JBoss 장애 사례: 세션 끊김, 로그 비정상, 비정상 배포 장애이번 글에서는 다음과 같은 Web/WAS 운영 중 자주 발생하는 장애를 정리합니다.세션이 예기치 않게 끊기는 문제로그가 저장되지 않거나 생성되지 않는 현상애플리케이션이 배포 상태에서 비정상적으로 undeploy되는 사례✅ 1. 세션 끊김 현상🔹 증상사용자가 로그인 후 특정 시간 지나면 세션이 사라짐서버 재기동이 없었음에도 로그인 상태 유지 실패🔹 원인JBoss에 설정된 세션 타임아웃이 짧음클러스터링 시 sticky session 설정 누락브라우저 쿠키 차단, 프록시 캐시 영향🔹 해결 방법web.xml 60 Apache 설정 (mod_proxy_ajp 등)ProxyPass /app ajp://localhost:8009/app stic..

JBoss 장애 사례: MIME 업로드, 라이브러리 중복, 네트워크 연동 오류

JBoss 장애 사례: MIME 업로드, 라이브러리 중복, 네트워크 연동 오류이번 글에서는 다음과 같은 실무 장애 사례를 다룹니다:대용량 파일 업로드 시 오류 발생라이브러리 중복으로 인한 ClassLoader 충돌Web → WAS 연동 지연 및 잘림IP 포워딩 오류 등 네트워크 연계 문제✅ 1. 대용량 파일(MIME) 업로드 시 오류🔹 증상업로드 중간에 연결 끊김파일이 서버에 저장되지 않음🔹 원인Apache LimitRequestBody, RequestReadTimeout 등 기본 설정 제한JBoss MultipartConfig 미설정🔹 해결 방법Apache 설정 (httpd.conf)LimitRequestBody 52428800 # 50MBRequestReadTimeout body=..

JBoss 장애 사례: 문자 인코딩, 클러스터, 포트 설정 이슈

JBoss 장애 사례: 문자 인코딩, 클러스터, 포트 설정 이슈이 시리즈는 실무에서 발생한 JBoss 장애 사례들을 정리한 내용입니다.이번 글에서는 문자 인코딩 문제, 클러스터 설정 오작동, 멀티캐스트 포트/방화벽 설정 문제에 대해 다룹니다.✅ 1. 한글 깨짐 (문자 인코딩 문제)🔹 증상웹 화면 또는 로그에서 한글이 깨짐EUC-KR 기반 시스템에서 발생🔹 원인Apache는 AddDefaultCharset EUC-KRJBoss는 기본 UTF-8 사용🔹 해결 방법Apache 설정 (httpd.conf)AddDefaultCharset EUC-KRJBoss JAVA_OPTS-Dorg.apache.catalina.connector.URI_ENCODING=EUC-KR-Dorg.apache.catalina.co..

Tomcat 데이터소스 암호화 적용 예제 (AES 기반)

Tomcat 데이터소스 암호화 적용 예제 (AES 기반)보안이 중요한 환경에서는 Tomcat의 context.xml이나 server.xml에DB 비밀번호를 평문으로 작성하는 대신 암호화된 문자열을 등록하고, 복호화 로직으로 처리하는 방식이 필요합니다.이번 글에서는 Tomcat JDBC 커넥션 풀(DataSourceFactory)을 확장하여AES 암호화를 적용하는 예제를 소개합니다.✅ 1. 구성 개요구성 요소설명EncryptedDataSourceFactory.javaTomcat 기본 DataSourceFactory를 상속한 사용자 정의 클래스Encryptor.javaAES 방식으로 암/복호화를 수행하는 유틸 클래스context.xml암호화된 비밀번호를 포함한 JNDI 데이터소스 설정 파일✅ 2. 암호화 클..

반응형