1. 세션 관련 명령어

세션 명령어를 2가지로 구분하여 설명한다.

  • 모니터링 및 제어

    세션 상태를 확인하거나 제어하기 위한 명령어들이다.

    명령어 설명

    list-session

    idle 시간 기준으로 정렬된 세션들의 정보를 보여준다.

    remove-session

    세션 타임아웃과 무관하게 입력한 타임아웃 동안 access가 없는 세션들을 제거할 때 사용한다.

    show-session-server-backup-table

    세션 서버의 현재 backup table 정보를 보여준다.

  • 설정 변경 관련 명령어

    세션 설정을 추가, 삭제, 수정할 수 있는 명령어들이다. 설정 변경 사항들은 XML에는 적용하지만 실제 운영 중인 서비스(메모리 영역)에 적용하지 않는다. XML만 변경되는 것이며 실제로 서비스에 적용하려면 서버를 재시작해야 한다.

    명령어 설명

    show-session-configuration

    세션 관련 설정 정보를 확인한다.

    modify-session-configuration

    세션 관련 설정 정보를 확인하고 수정한다.

  • 세션 서버 관련 명령어

    세션 스토리지 설정을 할 수 있는 명령어들이다. 설정 후 서버를 재시작해야 설정내용들이 적용된다.

    명령어 설명

    list-sessionstorages

    현재 존재하는 세션 스토리지의 목록을 보여준다.

    add-sessionstorage

    세션 서버에 세션 스토리지를 추가한다. 여러 개의 세션 스토리지가 있는 경우 이름은 중복 되서는 안된다.

    remove-sessionstorage

    세션 서버에서 세션 스토리지를 제거한다.

    rename-sessionstorage

    세션 스토리지의 이름을 변경한다.

    set-sessionstorage-property

    세션 스토리지의 프로퍼티를 추가/변경한다.

    remove-sessionstorage-property

    세션 스토리지의 프로퍼티를 제거한다.

    add-sessionstorage-scope

    세션 스토리지에 스코프를 추가한다. 여러 개의 스코프가 있는 경우 다른 스코프와 중복되면 안된다. DOMAIN_WIDE 클러스터 모드를 사용하는 경우 DOMAIN_WIDE로 설정하면 해당 스코프를 사용할 수 있다.

    set-sessionstorage-scope

    스코프에 포함될 application이나 cluster를 변경한다.

    remove-sessionstorage-scope

    세션 스토리지에서 스코프를 제거한다.

    set-sessionstorage-scope-session-config

    스코프에 포함된 컨텍스트에서 사용될 세션 관련 설정을 한다.

    list-sessionserver-property

    세션 서버의 프로퍼티 목록을 보여준다.

    set-sessionserver-property

    세션 서버의 프로퍼티를 추가/변경한다.

    remove-sessionserver-property

    세션 서버의 프로퍼티를 제거한다.

1.1. 공통적용 사항

다음은 모니터링 및 제어 명령어에서 공통적으로 적용되는 옵션에 대한 설명이다. 아래 옵션 중 하나만 설정될 수 있다.

  • [-server <server-name> ] 옵션

    • 각 명령어가 적용될 서버를 지정할 때 사용하는 옵션이다. 옵션을 설정하지 않으면 현재 접속된 서버의 웹 엔진으로 적용된다.

    • 각 명령어의 옵션 설명에서 이 옵션에 대한 설명은 생략한다.

  1. 서버에 즉시 반영이 안되는 설정의 경우 즉, Pending된 설정이 최초의 설정으로 재설정되는 명령어를 수행하면, 서버의 재시작이 필요하다는 안내문(Restart the Server)이 출력되지 않는다.

  2. JEUS Master Server의 경우는 위 옵션 중 하나는 반드시 필요하다. 그렇지만 JEUS Master Server가 아닌 일반 관리 서버에서 해당 명령어를 실행할 경우에는 아래 옵션들이 없을 경우 접속한 서버를 기반으로 명령이 수행된다.

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] 옵션과 동시에 쓸 수 없다.

  • 예제

    • [-clusters <target-cluster-list> ] 옵션을 사용한 예

      add-sessionstorage-scope scope1 -target sessionStorage -clusters cluster1,cluster2
    • [-applications <target-application-list>] 옵션을 사용한 예

      add-sessionstorage-scope scope1 -target sessionStorage -applications app1,app2

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] 옵션 과 동시에 쓸 수 없다.

  • 예제

    • [-clusters <target-cluster-list> ] 옵션을 사용한 예

      set-sessionstorage-scope scope1 -clusters cluster1,cluster2
    • [-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