Oracle

    RotatingFileStreamHandler

    Thread dump 분석 시 RotatingFileStreamHandler 관련하여 thread가 dead lock 된 상태 발견 이는 WebLogic 10.3.6 ~ 12.1.2에 나타나는 bug 중 하나이다. 위 현상은 다음과 같은 이유로 나타나는 에러이다. - 부하가 많을 경우 - 서버 시작 시 서버로그 로테이션이 비활성 상태인 경우 - 서버 log/stdout에 대한 대량의 로깅이 있는 경우 - stdout 로그 가 서버 로그로 리다이렉션 된 경우 JVM 옵션을 주거나 (-Dweblogic.log.RotateLogOnStartup=true), WLST를 통하여 이후 조치가 가능하긴 하나, 위 옵션들이 사전 조취를 취할 수 있는 것은 아니다. Oracle에서는 BUG PATCH 16784672를 ..

    WebLogic Deploy 시 jndi 관련 error

    WebLogic 14c에 spring boot로 개발한 application을 배포할 때, 다음과 같은 error로 배포가 되지 않는 현상. Caused By : javax.naming.NameNotFoundException: Unable to resolve '{JDNI 명} . Resolved ' '; remaining name '{JNDI 명} 위 현상은 war 파일이 배포된 이후, 내려가게 되면 WebLogic에서는 JNDI를 정보를 계속 보유하고 있으나 Spring boot로 개발된 application의 경우 JNDI 정보를 제거하려고 하기 때문에 나타나는 현상으로 보임. (* 위 현상은 JEUS, Tomcat에서는 나타나지 않은 현상이라고 함. WebLogic과 Spring의 충돌(?)로 보임..

    ServerTokens & ServerSignature

    ServerTokens : curl --head {URL}을 통해 요청 시, response의 head 값으로 server 정보가 모두 노출될 수 있는데, ServerTokens 값으로 이를 제한할 수 있음. - Prod : Webserver 이름만 노출 - Major : Webserver 이름 & Major 비전번호 노출 - Minor : Webserver 이름 & Minor 버전 노출 - Min : Webserver 이름 & Minimum 버전 노출 - OS : Webserver 이름 & 버전 & 운영체제 기본값으로 노출 - Full : 최대한의 정보 모두 노출 ex > [weblogic@localhost jh_domain]$ curl -v -X POST 192.168.56.242:8080/OFM/t..

    OHS TLS 버전 체크 및 제한

    OHS의 ssl.conf에는 TLS 버전에 대한 항목이 존재한다. 위의 버전을 체크하는 방법 및 해당 버전을 사용 중으로 변경하는지에 대한 사용 여부 제한 ## open SSL TLS 버전을 체크하기 위해서는 openSSL을 설치해야 한다. 1. https://www.openssl.org/source/ 접속 2. 다운받고자 하는 openSSL (tar.gz 파일) 다운받고 압축 풀기 3. ./openssl1-1.ld에서 ./config shared 실행 4. make 명령어 입력 5. make install 명령어 입력 6. openssl 명령어를 통해서 접속 확인 ## TLS 버전 사용중인지 확인 - openssl s_client -connect {ip}:{port} -tls1_2 (해당 ip, por..

    Windows에서 WebLogic 80 port 사용

    Linux 환경과 다르게 Windows 환경에서는 WebLogic을 admin 권한으로 실행시키기 때문에 80 포트를 사용할 수 있다. 단 windows 환경은 default로 80 포트를 사용하고 있어서 위 서비스를 중지시켜줘야 한다. ## 작업 관리자 > 서비스에서 "World Wide Web Publishing Service" 서비스 를 중지 및 사용 안함 처리 해줘야한다. ## cmd 창에서 netstat -ano | findstr 80 을 통해 pid 및 포트 사용 여부 확인 => 이후 80 포트 사용하는 WebLogic 사용이 가능해졌음.

    root로 기동 후 일반 계정으로 weblogic 기동 시 에러

    관리자 계정(su)로 weblogic을 기동 ~ 중지 이후, 일반 계정으로 weblogic을 기동하고자 하면 다음과 같은 error가 나타난다. java.lang.ClassCastException: com.octetstring.vde.backend.BackendRoot cannot be cast to com.octetstring.vde.backend.standard.BackendStandard 위의 문제는 ldap에서 root 계정으로 실행시켰을때 권한이 바뀐 파일이 존재하기 때문이다. error를 해결하기 위해서는 다음과 같은 작업이 필요하다. ${DOMAIN_HOME}/servers/${SERVER_NAME}/data/ldap/ldapfiles 위 경로의 파일 중 'EmbeddedLDAP.tran' ..

    WLST를 통해 Thread dump 생성 방법

    Windows 환경에서 thread dump를 생성하기 위해서는 java process 창에서 [ctrl]+[break]을 누르거나, jstack [PID] 로 생성이 가능하다. 하지만 WebLogic이 Windows 서비스 등록이 되어 있는 상태에서는 jstack이 사용 불가능하다. 이 때, thread dump를 WLST로 생성할 수 있다. ============================================================================================ # 참고용 => WebLogic Console에서도 Thread dump를 확인할 수 있는데, => => 에서 스레드 스택 덤프에서 확인 가능. ==============================..

    WebLogic class loader

    WAS 특히 WebLogic에서의 classloader를 알면 EJB 및 web application의 deployment를 보다 더 잘 이해할 수 있다. 우선 classloader에 대해 공부해야 한다. https://billy727.tistory.com/138 ClassLoader JAVA ClassLoader란? - JVM의 구성 요소 중 하나로, 클래스가 요청될 때, '.class' 파일로부터 바이트 코드를 읽어 들여 class 객체를 생성하고 메모리로 로딩하는 역할을 한다. 즉, 각 directory에 흩어진 cla billy727.tistory.com 위 글을 보고 대략적인 구조 및 흐름을 파악할 수 있다. ================================================..