WebtobB 환경 설정


- 여기서는 WebtoB 환경 설정에 사용되는 Option 들에 대해 정리하도록 하겠습니다.


1. WebtoB의 환경설정 파일 구조
   

절을 정의하는 부분과 설정할 이름과 해당 절에 설정할 수 있는 항목으로 구성

-. 절
   DOMAIN 절, NODE 절        서버 전체적인 동작과 관련된 설정
 

  VHOST 절                        가상 호스트와 관련된 설정

   SVRGROUP 절, SERVER 절, SERVICE 절     

 요청을 처리할 프로세스와 관련된 설정
        URI 절, ALIAS 절, EXT 절                구체적인 서비스 방식을 설정
        SSL 절, ACCESS 절, AUTHENT 절           보안과 관련된 설정

        이외에도 LOGGING, DIRECTORY, DIRINDEX, EXPIRES, ERRORDOCUMENT, TCPGW, REVERSE_PROXY,
        LOGLEVEL, HEADERS, PRECEDING_COMMAND 절을 설정할 수 있다.

        DOMAIN, NODE, SVRGROUP, SERVER 절은 반드시 설정해야 한다. NODE 절에는 해당 노드에서
        기본 요청 처리 서버로 동작하는 "SvrType = HTML"로 설정된 SERVER 절 설정이 필요하다.
    -. 항목
        "항목이름 = 설정값"
2. 절
    -. DOMAIN
        DOMAIN 절은 WebtoB 도메인을 설정한다. DOMAIN 절은 반드시 설정해야 하며, 하나만 설정한다.
    -. NODE
        WebtoB 노드에 대한 구체적인 환경에 대해 설정. NODE 절은 노드의 전체적인 동작 설정 정의
        VHOST 절을 설정하여 가상 호스트 설정한 경우 NODE 절 설정은 기본 호스트로 동작.
        ● WebtoB 시스템 경로
        ● 서비스할 문서들이 위치한 최상위 경로 (document root)
        ● 공유 메모리의 Key 값
        ● 서비스 IP 및 포트 번호 설정
        ● 기타 시스템 전체적인 설정
        : WEBTOBDIR(필수 항목)
            WebtoB가 설치된 경로
        : SHMKEY(필수 항목)
            공유 메모리 세그먼트(Shared Memory Segment) 설정 (WebtoB 내부 프로세스는 공유 메모리를 사용하여 서로 정보를 공유).
        : NODENAME
            노드의 물리적인 이름 (설정한 노드 이름은 반드시 파일에 등록되어야 한다-hosts)
        : DOCROOT
            서비스 최상위 경로
        : PORT
            서비스 포트 (Port와 Listen 항목이 같이 설정된 경우 Port 설정은 무시)
        : JSVPORT
            WebtoB와 JEUS를 연동하여 사용할 때 필요한 서비스 포트
            WebtoB가 해당 포트를 열면 JEUS가 "WEBMain.xml"에 다음과 같은 설정을 통하여 연결한다.
            <?xml version="1.0"?>
            <web-container xmlns="http://www.tmaxsoft.com/xml/ns/jeus" version="6.0">
                <context-group>
                    <group-name>MyGroup</group-name>
                    <webserver-connection>
                        <webtob-listener>
                            <listener-id>webtob1</listener-id>
                            <port>9900</port>
                            <output-buffer-size>8192</output-buffer-size>
                            <thread-pool>
                                <min>5</min>
                                <max>5</max>
                                <step>5</step>
                                <max-idle-time>30000</max-idle-time>
                            </thread-pool>
                            <webtob-address>__webtob_address__</webtob-address>
                            <registration-id>__webtob_server_name__</registration-id>
                            <disable-pipe>true</disable-pipe>
                        </webtob-listener>
                    </webserver-connection>
                </context-group>
            </web-container>
        : HTH
            HTH 프로세스의 수
            HTH 프로세스 하나가 처리할 수 있는 동시 접속자의 수가 제한되어 있는데, 이를 늘리는 경우 적당한 값을 설정
        : Group
            설정된 그룹 권한으로 동작
        : User
            설정된 계정 권한으로 동작
        : SYSLOGDIR
        : OPTIONS

        : IPCPERM
            WebtoB 내부 프로세스(WSM, HTL, HTH, HTMLS, CGIS 등) 및 관리 프로세스(wsadmin) 간의 내부 통신(IPC)에
            사용하는 named-pipe의 접근권한을 설정한다.
        : SERVICEORDER
            사용자 요청을 처리할 서버와 서비스를 결정할 때 URI 절과 EXT 절의 우선순위를 결정
            uri, ext            URI 절 설정을 먼저 확인하고 해당되는 설정이 없는 경우 EXT 절의 설정을 확인한다.
            ext, uri            EXT 절 설정을 먼저 확인하고 해당되는 설정이 없는 경우 URI 절의 설정을 확인한다.
        : CacheSize
        : CacheEntry
        : LOGGING
            액세스 로그에 해당되는 LOGGING 절 이름을 설정.
        : ERRORLOG
            에러 로그에 해당되는 LOGGING 절 이름을 설정.
        : HOSTNAME
            호스트 이름
        : HthQTimeout
            사용자 요청이 많아 해당 요청을 처리할 서버 프로세스가 없을 경우 해당 요청은 서버 큐에서 요청을 처리할
            서버 프로세스가 생길 때까지 기다리게 된다. 이때, 설정된 시간보다 오래 기다리고 있는 요청은
            큐에서 빼고 "503 Service Unavailable"로 응답한다
    -. VHOST
        Virtual Host 기능은 실제로는 하나의 WebtoB가 동작하지만 각기 다른 URL로 다른 문서를 제공하도록 하므로써
        마치 여러 개의 서버가 서비스를 제공하는 것처럼 보이도록 하는 기능이다.
        : Hostname(필수 항목)
            Virtual Host에 접근할 때 사용자가 사용할 호스트
        : HostAlias
            Hostname 항목에 설정된 호스트 이외에 다른 호스트를 추가하는 경우 HostAlias로 등록하여 설정.
            콤마(,)로 구분하여 여러 개를 설정할수 있다.
        : DocRoot
            Virtual Host가 서비스하게 될 HTML 문서가 있는 최상위 디렉터리 경로명을 설정.
        : Port
            사용자가 접속할 수 있는 서비스 포트를 설정한다
            콤마(,)로 구분하여 100개까지 설정 가능하다
            Port와 Listen 항목이 같이 설정된 경우 Port 설정은 무시된다
        : Logging
            액세스 로그에 해당되는 LOGGING 절 이름을 설정한다
        : ErrorLog
            에러 로그에 해당되는 LOGGING 절 이름을 설정한다.
        : Filter
            사용할 FILTER 절 이름을 설정한다
        : ServiceOrder
            사용자 요청을 처리할 서버와 서비스를 결정할 때 URI 절과 EXT 절의 우선순위를 결정한다
            URI 절과 EXT 절 모두 해당되지 않을 경우 기본 HTML 서버(가장 먼저 설정된 HTML type의 서버)에서 해당 요청을 처리한다.
        : IndexName
            디렉터리에 대한 요청을 하는 경우 기본으로 처리할 문서의 이름을 설정한다
    -. SVRGROUP
        WebtoB를 통해 응용 서버 프로세스를 접근하는 경우 서버 프로세스의 논리적인 연관성에 따라 이들을 그룹으로 관리할 필요가 있다.
        SVRGROUP 절에서는 이러한 그룹에 대한 환경설정을 한다.
        : SvrType
            서버 그룹에서 서비스할 서버 타입을 설정한다
            HTML        정적 파일 요청을 서비스하는 서버 타입이다.
            CGI         CGI 요청을 서비스하는 서버 타입이다.
            PHP         PHP 요청을 서비스하는 서버 타입이다.
            SSI         SSI 요청을 서비스하는 서버 타입이다.
            JSV         JEUS와 연동하여 JSP, servlet 등의 요청을 서비스하는 서버 타입이다.
            WEBSTD      WBAPI로 작성된 서버의 요청을 서비스하는 서버 타입이다.
        : VhostName
            서비스할 VHOST 절 이름을 설정한다
    -. SERVER
        SERVER 절에서는 실질적으로 제공하는 서비스들을 등록한다. WebtoB는 등록된 서비스만을 처리하기 때문에
        새로운 서버 프로그램이 추가되는 경우 서버의 환경 파일에 반드시 설정해야 한다.
        : SvgName(필수 항목)
            서버가 속해 있는 서버 그룹을 설정한다
        : MinProc
            기본적으로 기동될 서버 프로세스의 개수를 설정한다.
        : MaxProc
            MinProc를 포함하여 추가적으로 기동시킬 수 있는 프로세스의 최대 개수를 설정한다.
        : ASQCount
            자동으로 서버 프로세스를 추가 기동하기 위한 조건으로 큐에 쌓여진 요구 개수를 설정한다.
            큐에 설정된 이상의 것이 쌓이게 되면 MinProc에서 MaxProc에 설정된 수만큼 차례대로 증가하게 된다.
    -. URI
        URI 절은 클라이언트 요구의 URI(Uniform Resource Identifier) 값에 따라 이를 처리하는 서비스를 구분할수 있도록 한다.
        특정 URI가 입력으로 들어온 경우 이를 특정 서비스에서 처리하도록 할 수 있다.
        : Uri(필수 항목)
            HTTP Request path와 match할 패턴을 설정한다. match되면 해당 요청은 URI 절의 설정이 적용된다
        : SvrType(필수 항목)
            서비스 속성 즉, 지정된 URI를 포함하는 요청이 왔을 때 처리할 서버를 설정한다.
        : SvrName
            처리 담당 서버의 이름을 설정한다.
        : SvcName
            해당 URI에 대한 처리를 전담할 서비스의 이름을 설정한다
        : VhostName
            URI가 특정 Virtual Host에 사용될 때 VHOST 절에 정의된 해당 Virtual Host 이름을 설정한다
    -. ALIAS
        실제 서버의 물리적 디렉터리 경로와 URI를 Alias시키도록 설정할 수 있다. 즉, 어떤 특정한 URI에 대한 요구가 들어오면
        이를 실제의 물리적인 디렉터리에 매핑시켜서 이곳에서 원하는 리소스를 찾아 처리하게 하는 방식이다.
        이는 사용자가 Document root에 상관없이 지정할 수 있기 때문에 관리하는 입장에서 편리한 기능이다.
        : URI(필수 항목)
            Alias할 URI를 설정한다.
        : Realpath(필수 항목)
            서버 안의 물리적 디렉터리의 경로명을 설정한다.
    -. LOGGING
        클라이언트의 요구 내역을 기록하는 형식을 지정한다. 접근 내역과 에러 내역이 따로 저장되며 저장 형식을 지정할 수 있다.
        시스템 로그, 액세스 로그, 에러 로그 모두 LOGGING 절에 설정한다
        : FileName(필수 항목)
            로그를 저장할 파일의 경로를 설정한다.
        : Format(필수 항목)
            로그 파일에 기록될 메시지의 포맷을 설정한다.
    -. EXT
        클라이언트가 요구한 파일의 확장자명에 따라 처리 담당 프로세스를 지정할 수 있다. WebtoB는 기본적인 모든 MIME-Type에
        대한 처리 담당 프로세스가 설정되어 있으나, 필요에 따른 추가적인 설정을 할 경우 이 절에서 할 수 있다.
        : Mimetype
            확장자에 해당하는 MIME-Type을 설정한다
        : SvrType
            확장자를 처리할 서버의 타입을 설정한다.
    -. SSL
        WebtoB에서 사용할 SSL의 기능을 설정하는 곳이다. 이곳에서 정의된 형태로 SSL 서비스한다
        : CertificateFile(필수 항목)
            PEM 방식으로 인코딩된 서버의 인증서를 설정한다.
        : CertificateKeyFile(필수 항목)
            서버에서 쓰이는 PEM 방식으로 인코딩된 인증서의 개인 Key를 설정한다.
        : CACertificatePath
            인증서를 저장할 디렉터리를 설정한다.
        : CACertificateFile
            단일 CA(Certificate Agent: 인증을 대신해 주는 기업)로부터의 사용자 인증만 받고 싶다면 CACertificatePath 지시자가 아닌,
            이 지시자를 이용하여 단일 PEM으로 인코딩된 인증 파일을 사용해야 한다
        : CertificateChainFile
            서버 인증서(Certificate)의 인증서 연쇄(Certificate Chain)를 구성할 때 필요한 상위 인증기관들(CAs)의 인증서(Certificate) 경로를 설정한다
        : VerifyDepth
            실제 업무에 적용되는 경우에 인증에서 개입할 부분은 순서대로 다른 CA에 의해서 서로를 인증하는 CA에 관한 것이다.
        : VerifyClient
            사용자에게 요청할 인증 레벨을 설정한다
        : Protocols
            서버가 사용할 수 있는 protocol을 설정한다. 특정 SSL, TLS 버전에 대한 지원 여부를 설정할 수 있다.
            "TLSv1.1, TLSv1.2"는 WBSSL 1.0.1 이상인 경우에 지원한다. "SSLv2"는 더이상 지원하지 않는다.

+ Recent posts