![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
지능형 관리: plugin-cfg.xml 파일의 생성 제어
ODR(On Demand Router)에 의해 자동으로 생성되는 plugin-cfg.xml 파일의 기본 속성 값을 대체할 수 있습니다.
다음 요소가 com.ibm.ws.odr.plugincfg.<element>.<attributeName>로서 형식화되는데, <element>는 속성을 포함하는 요소를 나타내는 구성 파일 키워드의 이름이고, <attributeName>은 해당 요소 내에 위치한 속성의 이름입니다. 요소를 JVM 시스템 특성으로 구성하십시오. 관리 콘솔에서 ODR에 대한 JVM 시스템 특성을 설정하려면
을 클릭하십시오.Config
이 요소는 플러그인 구성 파일을 시작합니다. 다음 요소 및 속성을 하나 이상 포함할 수 있습니다.
- com.ibm.ws.odr.plugincfg.config.ASDisableNagle
- 사용자가 플러그인과 서버 사이의 연결에 대해 Nagle 알고리즘을
사용 안하기 원하는지 여부를 지정합니다.
기본값은 false입니다.
- com.ibm.ws.odr.plugincfg.config.AcceptAllContent
- 요청 헤더에 컨텐츠 길이 또는 전송 인코딩 헤더가
포함되었을 때 POST, PUT, GET 및 HEAD 요청에 컨텐츠를 포함할 수 있는지 여부를 지정합니다. 이 속성에 대해 다음 값 중 하나를 지정할 수 있습니다.
- 컨텐츠가 모든 요청에 대해 예상되고 읽어지는 경우 true입니다.
- 컨텐츠가 POST 및 PUT 요청에 대해서만 예상되고 읽어지는 경우 false입니다.
기본값은 false입니다.
기본값은 true입니다.
- com.ibm.ws.odr.plugincfg.config.AppServerPortPreference
- sendRedirect에 대한 URI를 빌드하는 데 사용되는 포트 번호를 지정합니다.
기본값은 HostHeader입니다.
- com.ibm.ws.odr.plugincfg.config.ChunkedResponse
- 전송 인코딩 : 청크된 응답 헤더가 응답에 존재할 때
플러그인이 클라이언트에 대한 응답을 그룹화하는지 여부를
지정합니다.
이 속성에 대해 다음 값 중 하나를 지정할 수 있습니다.
- 응답에 Transfer-Encoding : Chunked 응답 헤더가 있을 때 플러그인이 클라이언트에 대한 응답을 청크하는 경우 True입니다.
- 응답이 청크되지 않는 경우 false
기본값은 false입니다.
- com.ibm.ws.odr.plugincfg.config.IISDisableNagle
- Nagle 알고리즘을 사용 안할지 여부를 지정합니다.
기본값은 false입니다.
- com.ibm.ws.odr.plugincfg.config.IISPluginPriority
- 웹 서버가 플러그인을 로드하는 우선순위를 지정합니다.
이 속성에 대해 다음 값 중 하나를 지정할 수 있습니다.
- High
- Medium
- Low
기본값은 High입니다.
- com.ibm.ws.odr.plugincfg.config.IgnoreDNSFailures
- 플러그인이 시작될 때 구성 내의 DNS 실패를 무시할지 여부를
지정합니다. true로 설정될 때, 각 ServerCluster에 있는
하나 이상의 서버가 호스트 이름을 해석하는 경우 플러그인은 구성 내의
DNS 실패를 무시하고 성공적으로 시작합니다. 호스트 이름이
해석되지 않는 모든 서버는 구성의 수명 동안 사용 불가능으로
표시됩니다. 요청의 라우팅 중에는 나중에 호스트 이름이 분석되지 않습니다. DNS
장애가 발생하면, 로그 메시지가 플러그인 로그 파일에 기록되고 웹 서버가 시작하지
못하는 대신 플러그인 초기화는 계속됩니다.
기본값은 false입니다.
- com.ibm.ws.odr.plugincfg.config.RefreshInterval
- 플러그인이 업데이트나 변경에 대해 구성 파일을 검사하는
초 단위의 시간 간격입니다. 플러그인은 플러그인 구성이 로드된 이후에 발생하는
모든 수정사항에 대해 파일을 검사합니다.
기본값은 60입니다. 변경이 빈번한 개발 환경에서는 시간 간격을 60초 미만으로 설정하십시오. 프로덕션에서는 구성 업데이트가 그렇게 자주 발생하지 않기 때문에 기본값보다 높은 값으로 설정하십시오. 플러그인 다시 로드가 실패하는 경우, 플러그인 로그 파일이 메시지를 포함하며, 플러그인 구성 파일이 성공적으로 다시 로드될 때까지 이전 구성이 사용됩니다. 오류가 발생하는 경우 자세한 정보는 플러그인 로그 파일을 참조하십시오.
- com.ibm.ws.odr.plugincfg.config.ResponseChunkSize
- 플러그인 파일은 응답 데이터를 모두 읽을 때까지 64K 청크 단위로
응답 본문을 읽습니다. 이 점 때문에 응답 본문에 대량의 데이터가
포함된 요청의 경우 성능 문제가 발생할 수 있습니다.
응답 본문을 읽을 때 사용할 최대 청크 크기를 지정하려면 이 속성을 사용하십시오. 예를 들면 Config ResponseChunkSize="N">이며, N은 KB 단위의 청크 크기입니다.
응답 본문의 컨텐츠 길이를 알 수 없는 경우 N 킬로 바이트의 버퍼 크기가 할당되고 전체 본문을 읽을 때까지 N 킬로 바이트 크기 청크로 본문을 읽습니다. 컨텐츠 길이가 알려진 경우, 컨텐츠 길이의 버퍼 크기나 N이 응답 본문을 읽는 데 사용됩니다.
기본 청크 크기는 64k입니다.
- com.ibm.ws.odr.plugincfg.config.VHostMatchingCompat
- 가상 호스트 일치를 위해 포트 번호를 사용할 것을 지정합니다. 다음 값은 다음과 같이 지정될 수 있습니다.
- True: 요청이 수신되는 포트 번호를 사용하여 물리적으로 일치하는 경우입니다.
- False: 호스트 헤더에 포함된 포트 번호를 사용하여 논리적으로 일치하는 경우입니다.
기본값은 False입니다.
- com.ibm.ws.odr.plugincfg.odrIncludeStopped
- 중지된 ODR의 포함을 허용하려는 경우 지정합니다. 다음 값은 다음과 같이 지정될 수 있습니다.
- True: 중지된 ODR을 포함하는 경우.
- False: 중지된 ODR을 포함하지 않는 경우.
기본값은 False입니다.
- com.ibm.ws.odr.plugincfg.config.TrustedProxyEnable
- 신뢰하는 프록시를 지정합니다. 다음 값은 다음과 같이 지정될 수 있습니다.
- True: 신뢰하는 프록시를 포함하는 경우.
- False: 신뢰하는 프록시를 포함하지 않는 경우.
기본값은 False입니다. 신뢰받는 프록시는
관리 콘솔 페이지의 정의된 신뢰받는 보안 프록시로부터 수집됩니다.
Log
로그는 플러그인이 기록하는 로그 메시지의 위치와 레벨을 설명합니다. 구성 파일에 로그가 지정되지 않은 경우 로그 메시지가 오류 로그에 기록될 수도 있습니다.
- com.ibm.ws.odr.plugincfg.log.Name
- 플러그인이 오류 메시지를 기록하는 로그 파일에 대한
완전한 경로입니다.
기본값은 profileRoot/logs/http_plugin.log입니다.
- com.ibm.ws.odr.plugincfg.log.LogLevel
- 플러그인이 로그에 기록하는 로그 메시지에 대한
세부사항 레벨입니다. 이 속성에 대해 다음 값 중 하나를 지정할 수 있습니다.
- Trace. 요청 프로세스의 모든 단계가 자세하게 로그됩니다.
- Stats. 각 요청에 대해 선택된 서버와 요청 처리와 관련된 다른 로드 밸런스 정보가 로그됩니다.
- Warn. 비정상적인 요청 처리의 결과인 모든 경고 및 오류 메시지가 로그됩니다.
- Error. 비정상적인 요청 처리의 결과인 오류 메시지만 로그됩니다.
- Debug. 요청 처리에서 수행된 중요한 단계 모두 로그됩니다.
- Detail. 요청과 응답에 대한 모든 정보가 로그됩니다.
기본값은 Error입니다.경고:추적 레벨에서는 많은 메시지가 로그되어 파일 시스템을 매우 빠르게 채우게 됩니다. 추적 설정이 성능에 영향을 미치기 때문에 정상적으로 작동하는 환경에서는 사용하지 마십시오.
ServerCluster
이 요소는 일반적으로 동일한 요청 유형을 서비스하도록 구성되는 서버의 그룹입니다.
가장 간단한 경우 클러스터에는 하나의 서버 정의만 포함됩니다. 둘 이상의 서버를 정의하는 경우 플러그인은 라운드 로빙 또는 랜덤 알고리즘을 사용하여 정의된 서버에 사이의 로드 밸런스를 완료합니다. 기본값은 라운드 로빈입니다.
- com.ibm.ws.odr.plugincfg.cluster.CloneSeparatorChange
- 일부 퍼베이시브 디바이스는 세션 선호도와 결합하여 복제 ID를 분리하는 데 사용되는
콜론 문자(:)를 처리할 수 없습니다.이 속성은 플러그인이 콜론 분리자로 더하기 기호(+)를
예상하도록 지시합니다. 서버가 콜론 ID도 더하기 문자(+)를
사용하여 구분하도록 서버 구성을 변경해야 합니다.
기본값은 false입니다.
- com.ibm.ws.odr.plugincfg.cluster.LoadBalance
- 라운드 로빙 구현은 임의 시작점을 갖습니다. 첫 번째
서버가 무작위로 선택되고, 그 다음 위치에서 서버를 선택하기 위해
라운드 로빙 값이 사용됩니다. 이 구현은 여러 프로세스 기반
웹 서버에서 첫 번째 요청을 동일한 서버로 전송하여
모든 프로세스가 시작되지 않도록 보장합니다.
기본 로드 밸런싱 유형은 Round Robin입니다.
- com.ibm.ws.odr.plugincfg.cluster.PostSizeLimit
- 플러그인이 서버로 요청을 전송하려는 시도에서 허용되는
요청 컨텐츠의 최대 바이트 수입니다. 이 크기보다 더 큰
요청이 수신되는 경우 플러그인은 요청을 종료합니다.
기본값은 -1 바이트로, 게시 크기에 한계가 없음을 표시합니다.
- com.ibm.ws.odr.plugincfg.cluster.RemoveSpecialHeaders
- 플러그인은 요청을 서버로 전달하기 전에 요청에 특수 헤더를
추가합니다. 이러한 헤더는 애플리케이션이 사용하는
요청에 대한 정보를 저장합니다. 기본적으로 플러그인은
필수 헤더를 추가하기 전에 수신 요청에서 이러한 헤더를 제거합니다.
기본값은 true입니다. 이 속성을 false로 설정하는 경우, 수신 요청에서 헤더를 제거하지 않음으로써 잠재적 보안 노출을 도입합니다.
- com.ibm.ws.odr.plugincfg.cluster.RetryInterval
- 서버에 표시된 시간부터 플러그인이 연결을
다시 시도하는 시간까지 경과하는 시간 길이를 지정하는
정수입니다.
기본값은 60초입니다.
서버
이 요소는 플러그인 구성의 라우팅 규칙에 기반하여 서버에 라우트된 요청을 처리하도록 구성된 서버 인스턴스입니다. 이 서버 요소는 로컬 워크스테이션 또는 원격 워크스테이션에서 실행 중인 애플리케이션 서버에 해당합니다.
- com.ibm.ws.odr.plugincfg.server.ServerIOTimeout
- 플러그인이 요청을 전송하고 서버의 응답을 읽기 위한
제한시간 값을 초 단위로 설정할 수 있게 합니다. 이 속성의 값을 선택할 때 다음을 고려하십시오.
- 서버가 요청을 처리하는 데 몇 분 정도 걸릴 수 있습니다. ServerIOTimeout 속성 값을 너무 낮게 설정하면 플러그인이 클라이언트로 false 서버 오류 응답을 전송할 수 있습니다.
- 값이 설정되지 않는 경우, TCP 연결이 제한시간 초과할 때까지 기본값을 사용하여 서버에 요청을 쓰고 서버의 응답을 읽습니다. 기본값은 900입니다.
- 참고: 이전 제품 버전의 경우 기본값은 0입니다. 플러그인이 0의 기본 제한시간 값을 사용하는 경우 오류가 발생할 수 있습니다.
ServerIOTimeout 속성을 구성하는 방법에 대한 자세한 정보는 웹 서버 플러그인 구성 기술노트를 참조하십시오.
- com.ibm.ws.odr.plugincfg.server.ConnectTimeout
- 플러그인이 애플리케이션 서버와 비블록킹 연결을
수행하도록 하는 속성으로, 이 속성은 포트가 사용 가능하거나
사용 불가능한지 판별하기 위해 플러그인이 대상에 연결할 수
없는 경우에 유용합니다.
값이 지정되지 않으면 플러그인은 운영 체제가 제한시간 초과하고 플러그인이 서버를 사용 불가능으로 표시할 때까지 플러그인이 대기하는 블로킹 연결을 수행합니다. 0보다 큰 값은 플러그인이 성공적인 연결을 위해 대기하는 초 수를 지정합니다. 해당 시간 간격 후에 연결이 발생하지 않는 경우, 플러그인은 서버를 사용 불가능으로 표시하고 클러스터에서 정의된 다른 서버 중 하나로 계속합니다.
기본값은 0입니다.
- com.ibm.ws.odr.plugincfg.server.ExtendedHandShake
- 프록시 방화벽이 플러그인과 애플리케이션 서버 사이에 있을 때
사용됩니다. 그런 경우 플러그인은 예상대로 장애 조치(failover)되지
않습니다.
connect()가 종료할 때 플러그인이 서버를 중지됨으로 표시합니다. 그러나 프록시 방화벽이 플러그인과 애플리케이션 서버 사이에 있을 때, connect()는 백엔드 애플리케이션 서버가 중지된 경우에도 성공합니다. 이로 인해 플러그인이 다른 애플리케이션 서버로 올바르게 장애 조치(failover)하지 않게 합니다.
플러그인은 요청을 전송하기 전에 시작되도록 하기 위해 이 속성을 포함합니다.
기본값은 false입니다.
- com.ibm.ws.odr.plugincfg.server.MaxConnections
- 특정 시점에서 웹 서버 프로세스를 통해 플로우되는 서버에
대한 보류 중 연결의 최대 수를 지정합니다.
기본값은 -1로 설정됩니다.
- com.ibm.ws.odr.plugincfg.cluster.WaitForContinue
- 요청 컨텐츠를 애플리케이션 서버에 전송하기 전에 HTTP 1.1 100 Continue 지원을 사용할지 여부를 지정합니다. 기본값은 false입니다.플러그인은 요청 컨텐츠를 전송하기 전에
애플리케이션 서버로부터 100 Continue 응답을 기다리지 않습니다.
애플리케이션 서버가 제한시간 때문에 연결을 종료하는 경우 실패가 발생하지 않도록 하기 위해 POST 요청의 경우 이 특성이 무시됩니다.
프록시 방화벽의 특정 유형에 대해 작업하도록 플러그인을 구성할 때 이 기능을 사용 가능하게 하십시오.
특성
- com.ibm.ws.odr.plugincfg.property.ESIEnable
- ESI(Edge Side Include) 프로세서를 사용 가능 또는 사용 불가능하게 하는 데 사용됩니다. ESI 프로세서를 사용 불가능하게 한 경우, 파일의 기타 ESI 요소는 무시됩니다.
기본값은 true입니다.
- com.ibm.ws.odr.plugincfg.property.ESIMaxCacheSize
- 캐시의 최대 크기(1KB 단위)를 지정하는 정수. 캐시의 기본 최대 크기는 1024K 바이트(1MB)입니다. 캐시가 가득 찬 경우, 캐시에서 제거할 첫 번째 항목은 만기 시간에 가장 가까운 항목입니다.
- com.ibm.ws.odr.plugincfg.property.ESIInvalidationMonitor
- ESI 프로세서가 애플리케이션 서버로부터 무효화를 수신하는지
여부를 표시합니다.
기본값은 false입니다.
- com.ibm.ws.odr.plugincfg.property.https.keyring
- 전송 프로토콜이 HTTPS로 설정될 때 초기화 매개변수를
지정하려면 이 요소를 사용하십시오.
이 속성은 전송이 인식하는 지원되는 이름입니다. 키 링 요소의 기본값은 profileRoot/etc/plugin-key.kdb입니다.
- com.ibm.ws.odr.plugincfg.property.https.stashfile
- 숨김 파일의 기본값은 profileRoot/node/etc/plugin-key.sth입니다.
- com.ibm.ws.odr.plugincfg.property.PluginInstallRoot
- 플러그인의 설치 경로를 지정합니다. 기본값은 ""입니다. 그러나 값을 플러그인 설치 루트의 완전한 경로로 설정하십시오. 그렇지 않으면 특성이 plugin-cfg.xml 파일에 표시되지 않습니다.
plugin-cfg.xml 파일 생성 고려사항
- 자동 생성을 사용 안함으로 설정하십시오. 셀 사용자 정의 특성 ODCPluginCfgDisabled_<genDefID>를 true로 설정하십시오.
- 새 플러그인을 생성하려면 다음 명령을 실행하십시오.
여기서:<WAS_HOME>/bin/wsadmin.sh -lang jython -f <WAS_HOME>/bin/manageODC.py generateHAPluginCfgs <generationDefinitionIDs> <nodeName> <serverName>
- generationDefinitionIDs
- ODCPluginCfg_<genDef> 양식의 쉼표로 구분된 HAPluginCfgGeneration ID의 목록입니다.
- nodeName
- 생성을 수행하는 노드 이름입니다.
- serverName
- 생성을 수행하는 프로세스 이름입니다. 지능형 관리 기능 보강 프로세스는 요청 시 HAPluginCfgs 구성을
생성할 수 있습니다(XDAGENT 프로세스의 경우는 제외). 예를 들어 다음과 같습니다.
<WAS_HOME>/bin/wsadmin.sh -lang jython -f <WAS_HOME>/bin/manageODC.py generateHAPluginCfgs ODCPluginCfg_1,ODCPluginCfg_2 dmgrNodeName dmgr
ODCPluginCfgMinGenerationDelay = 10
구성된
HAPluginCfgGeneration 정의는
최대 10분마다 재생성됩니다. 생성기는 pluginCfgs 다시 빌드 알림을 수신하면
마지막 10분 내에 기록된 pluginCfgs 생성을 지연시킵니다.ODR이 생성한 plugin-cfg.xml 파일이 재생성되는 빈도를 제한하려면 com.ibm.ws.odr.plugincfg.minGenerationDelay JVM 특성을 가능한 생성 간격(분)을 나타내는 값으로 설정한 후 ODR을 순환시키십시오.
기본적으로 구성된 정적 런타임 가중치 값은 생성된 plugin-cfg.xml 파일에 중지된 ODR 프로세스를 포함시키는 데 사용됩니다.
- HAPluginCfgGenerator의 경우, ODCPluginCfgOdrIncludeStoppedStatic 셀 사용자 정의 특성을 false로 설정하십시오.
- ODR이 생성한 plugin-cfg.xml 파일의 경우, com.ibm.ws.odr.plugincfg.odrIncludeStoppedStatic JVM 특성을 false로 설정한 후 ODR을 순환시키십시오.