728x90

$JEUS_HOME/bin/jeusadmin 스크립트에 아래 설정 추가
-Djeus.console.table.width=130

728x90
728x90

개요
  JEUS6 컨테이너 기동 시 TM로그 관련된 Exception 메시지 기록

현상
  JEUS 기동 시 로그에서 아래와 같은 Exception 발생

Caused by : org.objectweb.howl.log.LogFileOverflowException : [로그경로] : high mark = 34bd000000; active mark for Logger

원인
  LogFileOverflowException은 JEUS Transaction 로그에서 주로 발생
  transaction 로그란? 예상치 못한 문제 상황에 있어 거래 무결성을 보장하기 위해 거래정보를 저장하는 로그
  LogFileOverflowException가 transaction 로그파일에 더 이상 용량이 없을 경우 발생합니다.
(default로 4k block을 500개 사용하여 2M의 file을 2개 사용)
일반적으로 대량의 거래가 발생 하였을 경우 일어날 수 있으며 거래 영향을 주지는 않습니다

해결방안
  1) 컨테이너 중지 후 transaction 로그 삭제 후 기동

2) transaction 로그 파일 size 튜닝
  JEUSMain.xml 내용에 아래의 내용 추가
-Dhowl.log.MaximumFiles=5
-Dhowl.log.MaximumBlocksPerFile=1000

3) TM로그 disable
  JEUSMain.xml 내용에 아래의 내용 추가
-Djeus.tm.noLogging=true

728x90
728x90

${JEUS_HOME}/bin/startedManagedServer -domain     [도메인명] -server [MS명] -u [ID] -p [Password]

728x90

'IT > MiddleWare(WEB WAS)' 카테고리의 다른 글

[JSP] 데이타소스 점검 페이지  (0) 2021.11.01
[링크]JEUS 설정 메뉴얼  (0) 2021.10.19
[링크]URL REWRITE 가이드  (0) 2021.09.27
[LINUX]파일의 인코딩 변경하기  (0) 2021.09.08
[WEBTOB]HTTP 405에러  (0) 2021.09.08
728x90

Specific Scope Cluster
특정 어플리케이션 들로 그룹을 설정하고 세션을 공유 및 유지하고자 할 때 설정

■ 조건
- 그룹 내 어플리케이션들은 context-path가 같아야 함
- 그룹 이름은 고유해야 한다
- jeus-web-dd.xml 파일에 그룹이름을 명시해야함

■ 적용 방법
WEBADMIN - Session - Specific Scope Cluster 추가

[리소스 홈]/WEB-INF/jeus-web-dd.xml 에 아래의 내용 추가
<jeus-web-dd> <target-session-cluster> 에 Specific Scope Cluster 이름 추가

728x90
728x90

웹 서비스를 구성하다보면 하나의 컨테이너에서 서로 다른 웹 어플리케이션의 구성을 요할때가 있다.
기본적으로 컨테이너는 context-path를 통해 context를 인지하지만, URL을 분기함으로써 context-path를 동일하게 설정해야 하는 경우도 생기게 된다.

다음과 같이 설정

■ JEUS6
${JEUS_CONFIG}/'HOSTNAME'_servlet_[컨테이너명]/WEBMain.xml

<web-container><context-group>로 분기

${JEUS_CONFIG}/JEUSMain.xml

<jeus-system><application><client-component><deployment-target><web-context-group><name> 에 WEBMain.xml 에서 정의한 context-group의 group-name값 부여

■ JEUS8
WEBADMIN - Servers - 컨테이너 선택 - Engine - Web Engine - Vitual Host 에 추가할 context-group이 사용하는 URL추가

해당 context-group의 어플리케이션 추가시
Virtual Host에서 URL선택

728x90
728x90

Server > adminServer 선택
Engine > Web Connections > ADMIN-HTTP 선택
고급선택사항 > Server Access Control 체크
> Allowed Server 에 허용할 IP기입

728x90

'IT > MiddleWare(WEB WAS)' 카테고리의 다른 글

[JAVA]JVM GC관련 기본 옵션  (0) 2021.01.11
[SEVLET] REQUEST 정보 파악  (0) 2020.12.29
[WEBTOB/JEUS]cookie SameSite 이슈 (chrome 80)  (0) 2020.12.22
[JAVA]java agent??  (0) 2020.12.22
[JAVA] BCI (Byte Code Instrumentation) ??  (0) 2020.12.22
728x90

출처: https://ifuwanna.tistory.com/223

크롬(Google Chrome)80버전부터 새로운 쿠키 정책이 적용 되어 Cookie의  SameSite 속성의 기본값이 "None"에서 "Lax"로 변경

■ 그로 인한 어떠한 영향도가 있는가??
SameSite 를 None 으로 설정할 경우 모든 도메인에서 쿠키를 전송하고 사용할 수 있지만  사용자가 사이트 간 요청 위조(CSRF - Cross-site request forgery) 및 의도하지 않은 정보 유출에 취약해질 가능성이 있음.
이러한 취약점을 방지하기 위해 지금까지는 별도의 SameSite 속성 명시 없이 쿠키를 생성했을 때 "SameSite=None" 으로 설정한 것과 동일하게 동작 했지만 Chrome80 버전 이후에는 SameSite 속성 설정이 없는 쿠키는 "SameSite=Lax" 로 명시한 것과 동일하게 동작
즉 iframe, ajax를 이용하여 다른 도메인으로부터 받은 쿠키를 저장하지 않게 됨

■ SameSite 란?
Cookie의 SameSite 속성은 서로 다른 도메인간의 쿠키 전송에 대한 보안을 설정.

"None"은 동일 사이트과 크로스 사이트에 모두 쿠키 전송이 가능. 그리고 "Strict"로 설정할 경우 서로 다른 도메인에서는 아예 전송이 불가능해 지기 때문에 CSRF를 100% 방지할 수 있으나 사용자 편의성을 많이 해치게 됩니다. 그래서 Strict 설정에 일부  예외( HTTP get method / a href / link href )를 두어 적용되는 설정이 이번에 기본값으로 변경되는 "Lax

■ 크롬이 SameSite 정책을 변경한 이유
브라우저에서 기본 설정을 변경한 것은 크로스 도메인간 중요한 정보 유지는 CSRF 가능성이 있는 쿠키가 아닌 다른 안전한 방식으로 하기를 권장하기 때문.
제안하는 대로 Lax 설정에서도 문제 없게끔 쿠키에 대한 의존성을 낮추는 것이 권장 되지만 바로 수정개발이 힘든 경우는 쿠키의 SameSite설정을 기존의 기본값이었던 None으로 설정하여 임시로 해결 할 수 있음.

■ 해결방안
1. WEBTOB patch
WebtoB-4.1.9.1-B308.50.18 로 패치

2. JEUS patch
버전별 패치파일 상이
JEUS6 : jext_v6008_i215676_a1340679.jar
JEUS7: jext_v7004_i214319_a1333430.jar
JEUS8: jext_v8000_i215340_a1339733.jar

3. JEUS설정 변경
버전별 설정파일 상이
JEUS6
- JEUSMain.xml 의 다음과 같은 내용 추가
<node><engine-container><command-option>-Djeus.servlet.response.cookie.sameSite=None
- WEBMain.xml 의 다음과 같은 내용 추가
<web-container><session-config><seasion-cookie><secure>true

JEUS7,8
Servers 메뉴 - MS선택 - Basic탭 - Basic Info 탭 이동
[Lock&Edit] 버튼 클릭 - Jvm Option 수정(-Djeus.servlet.response.cookie.sameSite=None) - 우측 상단 파란색 확인 버튼 클릭 - [Activate Changes] 버튼 클릭

Servers 메뉴 - MS선택 - Engine탭 - Web Engine 탭 - Session Config 탭 이동
[Lock&Edit] 버튼 클릭 - Secure 옵션 체크 - 우측 상단 파란색 확인 버튼 클릭 - [Activate Changes] 버튼 클릭


728x90

'IT > MiddleWare(WEB WAS)' 카테고리의 다른 글

[SEVLET] REQUEST 정보 파악  (0) 2020.12.29
[JEUS]JEUS 7,8 WEBADMIN IP 접속 제한  (0) 2020.12.29
[JAVA]java agent??  (0) 2020.12.22
[JAVA] BCI (Byte Code Instrumentation) ??  (0) 2020.12.22
[WEBTOB]Compression 설정  (0) 2020.12.17
728x90

JEUS6에서 세션 클러스터링 구성 시 주의사항
1. WEBMain.xml 의 <web-container><context-group><session-config><distributable> 값이 반드시 true일 것
default값이 false이며, false 일 경우 분산식 세션매니져로 동작하게 된다. 따라서 자동으로 stickysession이 활성화 됨.
2. WEBMain.xml 의 <web-container><context-group><session-config><shared>
하나의 컨테이너에 다수의 context(application)사용 시 세션공유를 위해서는 해당옵션 값이 true여야 한다.
default 값 : false

728x90
728x90

개요
 JEUS 6008 에서 session.setMaxInactiveInterval 메소드를 통해 세션타임 무한대 설정을 하고도 서비스 세션이 유지되지 못하고 요청마다 새로이 생성됨

현상
 JEUS 6008 에서 서비스 세션이 요청마다 새로이 생성됨

원인
  session.setMaxInactiveInterval(-1) 를 통해 세션타임을 무한대로 유지한다는 설정을 하였으나,
JEUS 세션서버에서는 해당메소드의 값(-1)을 받으면 로컬에서 세션정보를 가지고 있다는 것으로 판단하여 해당 세션을 세션서버에서 삭제함

해결방안
web.xml의 session-timeout 설정을 통해 세션 타임관리를 하는 것이 좋음.
session.setMaxInactiveInterval 메소드를 사용한다면 session-timeout값과 맞출 것(무한대인 -1은 사용하지 말 것)
※ 해당문제는 JEUS 6008에서만 발생
JEUS 6009부터는 session.setMaxInactiveInterval(-1)이 지정되면 JEUSMain.xml의 <removal-to> 값만큼만 세션서버에서 해당 세션을 유지
  ※removal-to : file-db에 저장된 session 객체의 보존 기간을 지정하는 값

728x90

'IT > MiddleWare(WEB WAS)' 카테고리의 다른 글

[WEBTOB]Compression 설정  (0) 2020.12.17
[JEUS] 6버전 세션클러스터 구성 시 주의사항  (0) 2020.12.04
[WEBTOB]HSTS 설정  (0) 2020.11.23
[JEUS]jsper jsp파서 사용  (0) 2020.11.11
[MW]미들웨어 구성 시 유의사항  (0) 2020.11.05
728x90

JEUS6
<commnad-option> -Djeus.servlet.jsp.modern=true </commnad-option>
 
- 오픈소스 등 웹 프레임워크를 보다 잘 지원하고 호환성 문제를 줄이기 위해서 톰캣 Jasper 기반의 JSP 파서를 사용

728x90

+ Recent posts