1. 세션 관련 명령어
세션 명령어를 2가지로 구분하여 설명한다.
-
모니터링 및 제어
세션 상태를 확인하거나 제어하기 위한 명령어들이다.
명령어 설명 idle 시간 기준으로 정렬된 세션들의 정보를 보여준다.
세션 타임아웃과 무관하게 입력한 타임아웃 동안 access가 없는 세션들을 제거할 때 사용한다.
세션 서버의 현재 backup table 정보를 보여준다.
-
설정 변경 관련 명령어
세션 설정을 추가, 삭제, 수정할 수 있는 명령어들이다. 설정 변경 사항들은 XML에는 적용하지만 실제 운영 중인 서비스(메모리 영역)에 적용하지 않는다. XML만 변경되는 것이며 실제로 서비스에 적용하려면 서버를 재시작해야 한다.
명령어 설명 세션 관련 설정 정보를 확인한다.
세션 관련 설정 정보를 확인하고 수정한다.
-
세션 서버 관련 명령어
세션 스토리지 설정을 할 수 있는 명령어들이다. 설정 후 서버를 재시작해야 설정내용들이 적용된다.
명령어 설명 현재 존재하는 세션 스토리지의 목록을 보여준다.
세션 서버에 세션 스토리지를 추가한다. 여러 개의 세션 스토리지가 있는 경우 이름은 중복 되서는 안된다.
세션 서버에서 세션 스토리지를 제거한다.
세션 스토리지의 이름을 변경한다.
세션 스토리지의 프로퍼티를 추가/변경한다.
세션 스토리지의 프로퍼티를 제거한다.
세션 스토리지에 스코프를 추가한다. 여러 개의 스코프가 있는 경우 다른 스코프와 중복되면 안된다. DOMAIN_WIDE 클러스터 모드를 사용하는 경우 DOMAIN_WIDE로 설정하면 해당 스코프를 사용할 수 있다.
스코프에 포함될 application이나 cluster를 변경한다.
세션 스토리지에서 스코프를 제거한다.
스코프에 포함된 컨텍스트에서 사용될 세션 관련 설정을 한다.
세션 서버의 프로퍼티 목록을 보여준다.
세션 서버의 프로퍼티를 추가/변경한다.
세션 서버의 프로퍼티를 제거한다.
JEUS 자체 중앙식 세션 서버를 설정한다.
1.1. 공통적용 사항
다음은 모니터링 및 제어 명령어에서 공통적으로 적용되는 옵션에 대한 설명이다. 아래 옵션 중 하나만 설정될 수 있다.
-
[-server <server-name> ] 옵션
-
각 명령어가 적용될 서버를 지정할 때 사용하는 옵션이다. 옵션을 설정하지 않으면 현재 접속된 서버의 웹 엔진으로 적용된다.
-
각 명령어의 옵션 설명에서 이 옵션에 대한 설명은 생략한다.
-
|
1.2. list-session
idle 시간 기준으로 정렬된 세션들의 정보를 보여준다.
-
관련 스키마
jeus-session-server.xsd, jeus-session-domain.xsd
-
alias
lisession, lss
-
사용법
list-session [-server <server-name>] [-s,--simple ] [-count <count>] [-target <manager-name>] [-id <target-id>]
-
파라미터
파라미터 설명 [-s,--simple ]
출력되는 결과를 Simple format으로 출력한다.
[-count <count>]
모니터링으로 확인될 세션들의 갯수를 설정한다. 생략하면 100개가 기본으로 적용된다.
[-target <manager-name>]
세션 정보를 보고 싶은 타겟 세션 매니저를 설정한다. 옵션을 주지 않을 경우 서버 내 모든 매니저의 정보를 보여준다.
[-id <target-id>]
특정 세션을 검색하기 위해 세션의 ID를 설정한다.
-
예제
-
별도 옵션을 사용하지 않는 예
list-session -server server1
-
[-s,--simple ] 옵션을 사용한 예
list-session -server server1 --simple
-
1.3. remove-session
Idle Time 기준으로 설정한 시간이 지난 세션을 제거한다.
-
관련 스키마
jeus-session-server.xsd, jeus-session-domain.xsd
-
alias
rmsession, rms
-
사용법
remove-session [-server <server-name>] [-time,--timeout <timeout(min)>]
-
파라미터
파라미터 설명 [-time,--timeout <timeout(min)>]
세션을 제거할 기준이 되는 타임아웃을 설정한다.
-
예제
-
[-time,--timeout <timeout(min)>]을 사용한 예
remove-session -server server1 --timeout 3
-
1.4. show-session-server-backup-table
세션 서버의 현재 backup table 정보를 보여준다.
-
관련 스키마
jeus-session-server.xsd, jeus-session-domain.xsd
-
alias
sssbt, sbt
-
사용법
show-session-server-backup-table [-server <server-name>]
-
예제
show-session-server-backup-table -server server1
1.5. show-session-configuration
세션 관련 설정 정보를 조회한다.
-
관련 스키마
jeus-session-server.xsd, jeus-session-domain.xsd
-
alias
getsc, ssc
-
사용법
show-session-configuration [-server <server-name>] [-h, --help]
-
파라미터
파라미터 설명 [-server <server-name>]
웹 엔진에 설정된 세션 설정을 확인한다.
[-h, --help]
파라미터 없는 명령어와 동일하며 전체적인 설정 구조 및 파라미터들을 설명한다.
-
예제
-
[-server <server-name>] 옵션을 사용한 예
show-session-configuration -server server1
-
1.6. modify-session-configuration
세션 관련 설정 정보를 수정한다.
-
관련 스키마
jeus-session-server.xsd, jeus-session-domain.xsd
-
alias
setsc, msc
-
사용법
modify-session-configuration [-server <server-name>] [-f,--forceLock] [-to,--timeout <int timeout>] [-mc,--max-session-count <int limit count>] [-rp,--reload-persistent <boolean reload-persistent>] [-tmc,--tracking-mode.cookie <boolean enable-cookie>] [-tmu,--tracking-mode.url <boolean enable-url>] [-tms,--tracking-mode.ssl <boolean enable-ssl>] [-scn,--session-cookie.cookie-name <string cookie-name>] [-sucn,--session-cookie.url-cookie-name <string url-cookie-name>] [-scv,--session-cookie.version <int version(1 or 0)>] [-scd,--session-cookie.domain <string domain-scope>] [-scp,--session-cookie.path <string path-scope>] [-scm,--session-cookie.max-age <int max-age(sec)>] [-scs,--session-cookie.secure <boolean secure] [-sch,--session-cookie.http-only <boolean http-only>] [-sca,--session-cookie.same-site <string same-site>] [-scc,--session-cookie.comment <string comment>]
-
파라미터
파라미터 설명 [-server <server-name>]
웹 엔진에 설정된 세션 설정을 변경한다.
[-f, --forceLock]
설정 변경을 강제로 진행하여 반영한다.
[-to,--timeout <int timeout>]
session-config의 세션 타임아웃을 설정한다.
[-mc,--max-session-count <int maxCount>]
저장할 세션의 최대 갯수를 설정한다.
[-rp,--reload-persistent <boolean reload-persistent>]
session-config의 Reload Persistent를 설정한다.
[-tmc,--tracking-mode.cookie <boolean enable-cookie>]
session-config의 트래킹 모드 중 쿠키를 설정한다.
[-tmu,--tracking-mode.url <boolean enable-url>]
session-config의 트래킹 모드 중 URL rewriting을 설정한다.
[-tms,--tracking-mode.ssl <boolean enable-ssl>]
session-config의 트래킹 모드 중 SSL을 설정한다.
[-scn,--session-cookie.cookie-name <string cookie-name>]
세션 쿠키의 이름을 설정한다.
[-sucn,--session-cookie.url-cookie-name <string url-cookie-name>]
url rewriting을 사용하여 세션을 전달할 때 해당 세션 쿠키의 이름을 설정한다.
[-scv,--session-cookie.version <int version(1 or 0)>]
세션 쿠키의 컴파일 버전을 선택한다.
[-scd,--session-cookie.domain <string domain-scope>]
세션 쿠키의 도메인 범위를 결정한다.
[-scp,--session-cookie.path <string path-scope>]
세션 쿠키의 path 범위를 결정한다.
[-scm,--session-cookie.max-age <int max-age>]
브라우저에서 세션 쿠키의 유지 시간을 결정한다.
[-scs,--session-cookie.secure <boolean secure>]
브라우저가 쿠키를 SSL에 제한되게 전송할지를 결정한다.
[-sch,--session-cookie.http-only <boolean http-only>]
브라우저가 HTTP 요청에 의해서만 세션 쿠키를 사용할지를 결정한다.
[-sca,--session-cookie.same-site <string same-site>]
세션 ID 쿠키가 사용자 의도와 상관없는 요청에 쓰이는 공격(사이트 간 요청위조)을 방지하는 보안기술을 설정한다.
[-scc,--session-cookie.comment <string comment>]
쿠키 버전이 1일 때에 해당 세션 쿠키의 설명을 설정한다.
-
예제
-
[-server <server-name>] 옵션을 사용한 예
modify-session-configuration -server server1 -to 40 -sh true -scs true
-
1.7. list-sessionstorages
현재 세션서버에 존재하는 세션 스토리지의 목록을 보여준다.
-
관련 스키마
jeus-session-server.xsd, jeus-session-domain.xsd
-
alias
listsessionstorages, listss
-
사용법
list-sessionstorages
1.8. add-sessionstorage
세션 서버에 세션 스토리지를 추가한다. 다른 스토리지와 이름이 중복되서는 안된다.
-
관련 스키마
jeus-session-server.xsd, jeus-session-domain.xsd
-
alias
addsessionstorage, addss, addsessionstor
-
사용법
add-sessionstorage <session-storage-name> [-provider <provider>] [-property <property>]
-
파라미터
파라미터 설명 <session-storage-name>
추가할 세션 스토리지의 이름이다.
[-provider <provider>]
사용할 Session Manager의 Provider를 설정한다. 예약어를 설정하거나 사용한 패키지를 설정한다.
예약어 외 전체 패키지 이름을 사용해야 한다. (예: jeus.session.impl.distributed.JeusDistributedWebSessionManagerProvider)
예약어는 다음과 같다.
-
JEUS : JEUS에서 기본적으로 제공하는 세션 매니저를 사용한다.
-
REDIS : JEUS에서 제공하는 REDIS 세션 매니저를 사용한다.
-
HAZELCAST : JEUS에서 제공하는 HAZELCAST 세션 매니저를 사용한다.
-
RUNTIME : 다른 프로바이더가 존재할 경우 해당 프로바이더를 우선 사용한다. 없을 경우 JEUS 세션 매니저를 사용한다.
[-property <property >]
세션 스토리지의 property이다.
-
-
예제
add-sessionstorage sessionStorage1 -provider JEUS -property connect-timeout=10000,full-search-timeout=20000
1.9. remove-sessionstorage
세션 서버에서 세션 스토리지를 제거한다.
-
관련 스키마
jeus-session-server.xsd, jeus-session-domain.xsd
-
alias
removess, rmss, removesessionstor, rmsessionstor, rm,sessionstorage
-
사용법
remove-sessionstorage <session-storage-name>
-
파라미터
파라미터 설명 <session-storage-name>
제거할 세션 스토리지의 이름이다.
-
예제
remove-sessionstorage sessionStorage1
1.10. rename-sessionstorage
세션 스토리지의 이름을 변경한다.
-
관련 스키마
jeus-session-server.xsd, jeus-session-domain.xsd
-
alias
renamesessionstor, renamesessionstor
-
사용법
rename-sessionstorage <session-storage-name> -name <new-session-storage-name>
-
파라미터
파라미터 설명 <session-storage-name>
이름을 변경할 세션 스토리지의 이름이다.
-name <new-session-storage-name>
새로운 세션 스토리지의 이름이다.
-
예제
rename-sessionstorage sessionStorage1 -name new_sessionStorage
1.11. set-sessionstorage-property
세션 스토리지의 property를 추가하거나 변경할 수 있다.
-
관련 스키마
jeus-session-server.xsd, jeus-session-domain.xsd
-
alias
setsessionstorageproperty, setsessionstorprop, setsstorprop
-
사용법
set-sessionstorage-property <session-storage-name> [-key <key-of-property>] [-value <value-of-property>] [-property <property>]
-
파라미터
파라미터 설명 <session-storage-name>
property를 추가할 세션 스토리지의 이름이다.
[-key <key-of-property>]
추가하거나 변경할 property의 key이다. 이미 key가 설정되어 있다면 property의 value를 변경하고, 없다면 새로 추가한다.
[-property] 옵션과 동시에 쓸 수 없다.
[-value <value-of-property>]
추가하거나 변경할 property의 value이다.
[-key] 옵션이 있다면 필수로 입력해야 한다.
[-property <property >]
추가하거나 변경할 property이다. 이미 key가 설정되어 있다면 property의 value를 변경하고, 없다면 새로 추가한다.
[-key] 옵션과 동시에 쓸 수 없다.
-
예제
-
[-key <key-of-property> -value <value-of-property>] 옵션을 사용한 예
set-sessionstorage-property sessionStorage1 -key full-search-timeout -value 10000
-
[-property <property>] 옵션을 사용한 예
set-sessionstorage-property sessionStorage1 -property full-search-timeout=10000,backup-queue-size=200
-
1.12. remove-sessionstorage-property
세션 스토리지의 property를 제거할 수 있다.
-
관련 스키마
jeus-session-server.xsd, jeus-session-domain.xsd
-
alias
rmsessionstorageproperty, rmsessionstorprop, rmsstorprop
-
사용법
remove-sessionstorage-property <session-storage-name> -key <key-of-property>
-
파라미터
파라미터 설명 <session-storage-name>
property를 제거할 세션 스토리지의 이름이다.
-key <key-of-property>
세션 스토리지에서 제거할 property의 key이다.
-
예제
remove-sessionstorage-property sessionStorage1 -key full-search-timeout
1.13. add-sessionstorage-scope
세션 스토리지에 스코프를 추가한다. 다른 스코프와 이름이 중복되서는 안된다.
-
관련 스키마
jeus-session-server.xsd, jeus-session-domain.xsd
-
alias
addsessionstoragescope, addssscope, addsessionstorscope, addsss
-
사용법
add-sessionstorage-scope <scope-name> -target <storage-name> [-clusters <target-cluster-list>] [-applications <target-application-list>]
-
파라미터
파라미터 설명 <scope-name>
추가할 세션 스코프의 이름이다.
-target <storage-name>
스코프를 추가할 세션 스토리지의 이름이다. 필수로 입력해야 한다.
[-clusters <target-cluster-list>]
스코프에 포함될 클러스터 리스트이다. [-applications] 옵션 과 동시에 쓸 수 없다.
[-applications <target-application-list>]
스코프에 포함될 애플리케이션 리스트이다. [-clusters] 옵션과 동시에 쓸 수 없다.
[-sessionType <jeus-session-type>]
provider가 JEUS일 경우 사용할 세션 서버의 타입을 설정한다. 스토리지의 provider가 JEUS가 아닌 경우 이 설정은 무시된다. (기본값: DISTRIBUTED)
-
CENTRAL: JEUS 자체 중앙식 세션 서버를 사용한다.
-
DISTRIBUTED: JEUS 분산식 세션 서버를 사용한다.
-
-
예제
-
[-clusters <target-cluster-list> ] 옵션을 사용한 예
add-sessionstorage-scope scope1 -target sessionStorage -clusters cluster1,cluster2 -sessionType DISTRIBUTED
-
[-applications <target-application-list>] 옵션을 사용한 예
add-sessionstorage-scope scope1 -target sessionStorage -applications app1,app2 -sessionType CENTRAL
-
1.14. set-sessionstorage-scope
스코프에 포함될 클러스터나 애플리케이션을 설정한다. 기존에 설정되어 있던 target-application이나 target-cluster가 제거되고 새롭게 설정된다.
-
관련 스키마
jeus-session-server.xsd, jeus-session-domain.xsd
-
alias
setsessionstoragescope, setsessionstorscope, setsss, setssscope
-
사용법
set-sessionstorage-scope <scope-name> [-clusters <target-cluster-list>] [-applications <target-application-list>]
-
파라미터
파라미터 설명 <scope-name>
추가할 세션 스코프의 이름이다.
[-clusters <target-cluster-list>]
스코프에 포함될 클러스터의 리스트이다. [-applications] 옵션과 동시에 쓸 수 없다.
[-applications <target-application-list>]
스코프에 포함될 애플리케이션 리스트이다. [-clusters] 옵션 과 동시에 쓸 수 없다.
[-sessionType <jeus-session-type>]
provider가 JEUS일 경우 사용할 세션 서버의 타입을 설정한다. 스토리지의 provider가 JEUS가 아닌 경우 이 설정은 무시된다. (기본값: DISTRIBUTED)
-
CENTRAL: JEUS 자체 중앙식 세션 서버를 사용한다.
-
DISTRIBUTED: JEUS 분산식 세션 서버를 사용한다.
-
-
예제
-
[-clusters <target-cluster-list> ] 옵션을 사용한 예
set-sessionstorage-scope scope1 -clusters cluster1,cluster2 -sessionType DISTRIBUTED
-
[-applications <target-application-list>] 옵션을 사용한 예
set-sessionstorage-scope scope1 -applications app1,app2
-
1.15. remove-sessionstorage-scope
세션 스토리지에서 스코프를 제거한다.
-
관련 스키마
jeus-session-server.xsd, jeus-session-domain.xsd
-
alias
removessscope, rmssscope, rmsessionstorscope, removesessionstoragescope
-
사용법
remove-sessionstorage-scope <scope-name>
-
파라미터
파라미터 설명 <scope-name>
제거할 세션 스코프의 이름이다.
-
예제
remove-sessionstorage-scope scope1
1.16. set-sessionstorage-scope-session-config
스코프에 포함된 컨텍스트에서 사용될 세션 관련 설정을 할 수 있다.
-
관련 스키마
jeus-session-server.xsd, jeus-session-domain.xsd
-
alias
setsessionstoragescopesessionconfig, setssssc, setsessionstorscopesc
-
사용법
set-sessionstorage-scope-session-config <scope-name> [-timeout <timeout>] [-msc, --max-session-count <limit-count>] [-rp, --reload-persistent <reload-persistent>] [-tm, --tracking-mode <tracking-mode>] [-sc, --session-cookie <session-cookie>]
-
파라미터
파라미터 설명 <scope-name>
세션관련 설정을 할 스코프의 이름이다.
[-timeout <timeout>]
session-config의 세션 타임아웃을 설정한다. (기본값: 30)
[-msc, --max-session-count <limit-count>]
저장할 세션의 최대 갯수를 설정한다. (기본값: -1(무제한))
[-rp, --reload-persistent <reload-persistent>]
session-config의 Reload Persistent를 설정한다. (기본값: false)
[-tm, --tracking-mode <tracking-mode>]
추가하거나 변경할 property이다. 이미 key가 설정되어 있다면 property의 value를 변경하고, 없다면 새로 추가한다.
property에 들어갈 수 있는 key는 다음과 같다.
-
cookie : session-config의 트래킹 모드 중 쿠키를 설정한다. value의 type은 Boolean이다. (기본값: true)
-
url : session-config의 트래킹 모드 중 URL rewriting을 설정한다. value의 type은 Boolean이다. (기본값: false)
-
ssl : session-config의 트래킹 모드 중 SSL를 설정한다. value의 type은 Boolean이다. (기본값: false)
[-sc, --session-cookie <session-cookie>]
추가하거나 변경할 property이다. 이미 key가 설정되어 있다면 property의 value를 변경하고, 없다면 새로 추가한다.
property에 들어갈 수 있는 key는 다음과 같다.
-
cookie-name : 쿠키를 사용하여 세션을 전달할 때 해당 세션 쿠키의 이름을 설정한다. value의 type은 String이다. (기본값: JSESSIONID)
-
url-cookie-name : url rewriting을 사용하여 세션을 전달할 때 해당 세션 쿠키의 이름을 설정한다. value의 type은 String이다. (기본값: jsessionid)
-
version : 쿠키 ID 버전을 설정한다. value의 type은 Integer이다. (기본값: 0)
-
domain : 세션 쿠키가 적용되는 도메인 이름을 설정한다. value의 type은 String이다. 한 글자 이상의 문자열이여야 한다.
-
path : 세션 쿠키가 적용되는 경로를 설정한다. value의 type은 String이다. 한 글자 이상의 문자열이여야 한다.
-
max-age : 브라우저에서 세션 쿠키의 유지 시간을 결정한다. value의 type은 Integer이다. (기본값: -1)
-
secure : 세션 ID 쿠키의 Secure 속성을 설정한다. true로 설정하면 세션 ID 쿠키는 오직 Secure HTTPS 커넥션으로 보내진다. value의 type은 Boolean이다. (기본값: false)
-
http-only : 브라우저가 HTTP 요청에 의해서만 세션 쿠키를 사용할지를 결정한다. value의 type은 Boolean이다. (기본값: true)
-
same-site : 세션 ID 쿠키가 사용자 의도와 상관없는 요청에 쓰이는 공격(사이트 간 요청위조)을 방지하는 보안기술을 설정한다. value의 Type은 [None, Strict, Lax, Disable] 중 하나이다.
-
comment : 해당 쿠키에 대한 목적 또는 설명을 기록한다. value의 type은 String이다. 한 글자 이상의 문자열이여야 한다.
-
-
예제
set-sessionstorage-scope-session-config scope1 -timeout 20 -shared true -session-cookie secure=true,http-only=true,path=/ -tracking-mode cookie=true
1.17. list-sessionserver-property
세션 서버의 property 목록을 보여준다.
-
관련 스키마
jeus-session-server.xsd, jeus-session-domain.xsd
-
alias
listsessionserverproperty, listssp, listsessionservprop
-
사용법
list-sessionserver-property
1.18. set-sessionserver-property
세션 서버의 property를 추가하거나 변경 할 수 있다.
-
관련 스키마
jeus-session-server.xsd, jeus-session-domain.xsd
-
alias
setsessionserverproperty, setsessionservprop, setsservprop
-
사용법
set-sessionserver-property [-key <key-of-property>] [-value <value-of-property>] [-property <property>]
-
파라미터
파라미터 설명 [-key <key-of-property>]
추가하거나 변경할 property의 key이다. 이미 key가 설정되어 있다면 property의 value를 변경하고, 없다면 새로 추가한다.
[-property] 옵션과 동시에 쓸 수 없다.
[-value <value-of-property>]
추가하거나 변경할 property의 value이다.
[-key] 옵션이 있다면 필수로 입력해야 한다.
[-property <property>]
추가하거나 변경할 property이다. 이미 key가 설정되어 있다면 property의 value를 변경하고, 없다면 새로 추가한다.
[-key] 옵션과 동시에 쓸 수 없다.
-
예제
-
[-key <key-of-property> -value <value-of-property>] 옵션을 사용한 예
set-sessionserver-property -key encoding-rule -value base64
-
[-property <property>] 옵션을 사용한 예
set-sessionserver-property -property encoding-rule=raw
-
1.19. remove-sessionserver-property
세션 서버의 property를 제거할 수 있다.
-
관련 스키마
jeus-session-server.xsd, jeus-session-domain.xsd
-
alias
removesessionserverproperty, rmsessionservprop, rmsservprop
-
사용법
remove-sessionserver-property -key <key-of-property>
-
파라미터
파라미터 설명 -key <key-of-property>
세션 서버에서 제거할 property의 key이다.
-
예제
remove-sessionserver-property -key excluded-servers
1.20. set-jeus-central-session-server
JEUS 자체 중앙식 세션 서버를 설정할 수 있다.
-
관련 스키마
jeus-session-server.xsd, jeus-session-domain.xsd
-
alias
setjcss, setcentralss
-
사용법
set-jeus-central-session-server -primary <primary central session server> -seconday <secondary central session server>
-
파라미터
파라미터 설명 -primary <primary central session server>
primary session server로 사용할 server 이름이다.
-seconday <secondary central session server>
secondary session server로 사용할 server 이름이다.
-
예제
set-jeus-central-session-server -primary server1 -secondary server2