MBean을 사용하여 plugin-cfg.xml 파일 생성

WebSphere:name=com.ibm.ws.jmx.mbeans.generatePluginConfig MBean을 호출하여 웹 서버에 대해 plugin-cfg.xml 파일을 생성할 수 있습니다.

시작하기 전에

[16.0.0.3 and later]16.0.0.3에서 시작하여, plugin-cfg.xml 파일을 생성할 필요가 없습니다. 이 제품은 사용자를 위해 파일을 생성합니다. plugin-cfg.xml 파일의 자동 생성의 내용을 참조하십시오.

애플리케이션이 Servlet 3.0 API를 사용하여 세션 쿠키 구성을 프로그래밍 방식으로 수정하는 경우, plugin-cfg.xml 파일을 생성하기 전에 애플리케이션이 초기화되어야 합니다. 그렇지 않으면 해당 애플리케이션에 대해 정의되는 AffinityCookie 속성이 틀릴 수 있습니다. 이 문제점을 방지하려면, deferServletLoadfalse로 설정하고, 서버를 시작하고 플러그인을 생성한 다음 deferServletLoad 속성을 제거하십시오.

이 태스크 정보

웹 서버 플러그인은 지원되는 웹 서버에서 하나 이상의 애플리케이션 서버로 HTTP 요청을 전달하기 위해 사용됩니다. 플러그인은 요청을 받으면 이 요청을 plugin-cfg.xml 파일의 구성 데이터와 대조하여 확인합니다. 구성 데이터는 HTTP 요청의 URI를 애플리케이션 서버의 호스트 이름에 맵핑합니다. 그러면 웹 서버 플러그인은 이 정보를 사용하여 요청을 애플리케이션 서버로 전달합니다.

프로시저

  1. 애플리케이션을 호스팅하는 서버를 시작한 후 IBM®i 및 z/OS® 플랫폼용 localConnector-1.0 기능 또는 restConnector-1.0 기능(IBM i 또는 z/OS용 플러그인을 구성하는 경우) 및 기타 필수 기능이 서버 구성에 포함되어 있는지 확인하십시오.

    서버 구성 파일의 pluginConfiguration 요소에서, webserverPortwebserverSecurePort 속성을 지정하여 웹 서버로부터의 요청을 전달할 수 있습니다. 기본적으로, webserverPort의 값은 80이며 webserverSecurePort의 값은 443입니다. 그러나, 이 설정을 변경할 수 있습니다. 예를 들어 Linux 및 유사 플랫폼의 경우에 루트가 아닌 사용자라면 1024보다 큰 포트 번호를 사용해야 합니다.

    pluginConfiguration 요소의 구성 가능한 모든 속성은 Java Servlet 3.1을 참조하십시오.

    다음은 server.xml 서버 구성 파일의 예제입니다.
    <server description="new server">
     <featureManager>
       <feature>localConnector-1.0</feature>
       		<feature>jsp-2.2</feature>
     </featureManager>
      
    <keyStore id="defaultKeyStore" password="{xor}PGY6bW4wOyw+" />
    
     <httpEndpoint id="defaultHttpEndpoint"
                     host="*"
                     httpPort="9080">
              <tcpOptions soReuseAddr="true" />
         </httpEndpoint>
    
     <pluginConfiguration webserverPort="80" 
                          webserverSecurePort="443" 
                          sslKeyringLocation="path/to/sslkeyring"
                          sslStashfileLocation="path/to/stashfile" 
                          sslCertlabel="definedbyuser"/>
    
     <application type="war" id="myapp" name="myapp" location="${server.config.dir}/apps/myapp.war" />    
     <application type="war" id="snoop" name="snoop" location="${server.config.dir}/apps/snoop.war" />
    </server>

    For IBM i platformsIBM i 및 z/OS의 경우 localConnector-1.0 기능 대신 restConnector-1.0 기능을 포함하십시오. 세부사항은 Liberty에 대한 보안 JMX 연결 구성을 참조하십시오.

    For IBM i platformsIBM i 및 z/OS용 server.xml 서버 구성 파일의 예는 다음과 같습니다.
    <server description="new server">
    
    <!-- Enable features -->
      <featureManager>
         		<feature>jsp-2.2</feature>
         <feature>restConnector-1.0</feature>
      </featureManager>
    
    <keyStore id="defaultKeyStore" password="{xor}PGY6bW4wOyw+" />
    
     <httpEndpoint id="defaultHttpEndpoint"
                     host="*"
                     httpPort="9080"
                     httpsPort="9443">
              <tcpOptions soReuseAddr="true" />
         </httpEndpoint>
    
    <quickStartSecurity userName="testuser"
     						userPassword="security" /> 
    
     <pluginConfiguration webserverPort="80" 
                          webserverSecurePort="443" 
                          sslKeyringLocation="path/to/sslkeyring"
                          sslStashfileLocation="path/to/stashfile" 
                          sslCertlabel="definedbyuser"/>
    
     <application type="war" id="myapp" name="myapp" location="${server.config.dir}/apps/myapp.war" />    
     <application type="war" id="snoop" name="snoop" location="${server.config.dir}/apps/snoop.war" />
    </server>
    참고:
    • SSL을 사용하도록 웹 서버 플러그인을 구성하는 경우에는 Libertyssl-1.0 Liberty 기능을 사용으로 설정해야 합니다.
    • 웹 서버가 기본 포트를 사용하는 경우 server.xml 파일에 pluginConfiguration 요소를 포함시킬 필요가 없습니다.
    • 웹 서버 플러그인에서 사용하는 키 저장소는 키 관리(iKeyman) 유틸리티를 사용하여 작성할 수 있는 CMS 키 저장소여야 합니다. 웹 서버 플러그인 키 저장소와 Liberty 키 저장소 간에 서명자 인증서를 교환해야 하지만, 사용자는 웹 서버 플러그인용 Traditional 또는 Liberty에서 작성하는 JKS 키 저장소를 사용할 수 없습니다.
    • 플러그인 로그 파일의 위치를 구성하려면 server.xml 파일의 pluginConfiguration 요소에 다음 코드 스니펫을 추가하십시오.
      logDirLocation="/path/to/log/file/"
  2. WebSphere:name=com.ibm.ws.jmx.mbeans.generatePluginConfig MBean을 호출하여 Liberty 서버와 애플리케이션에 대해 plugin-cfg.xml 파일을 생성하십시오.
    1. 서버와 동일한 Java SDK를 사용하여 명령 창에서 jconsole Java 유틸리티를 실행하십시오.
      예를 들어, 다음 명령을 실행하십시오.
      c:\java\bin\jconsole
      서버 프로세스가 연결을 대기 중인 선택사항에 나열됩니다.
      For IBM i platformsIBM i 및 z/OS의 경우 워크스테이션에서 WCT와 함께 설치된 Java SDK를 사용하여 명령 창에서 jconsole Java 유틸리티를 실행하십시오. 예를 들어, 다음 단계를 수행하십시오.
      1. 워크스테이션에 C:\restClient 디렉토리를 작성하십시오.
      2. ${wlp.install.dir}/clients/restConnector.jar을 워크스테이션의 C:\restClient 디렉토리에 복사하십시오.
      3. ${server.output.dir}/resources/security/key.jks를 워크스테이션의 C:\restClient 디렉토리에 복사하십시오.
      4. 명령 창에 SET JAVA_HOME=wct_root\java를 입력하십시오.
        참고: SSL 소켓 팩토리를 WebSphere® Application Server SSL 소켓 팩토리로 설정하는 두 개의 행을 주석 처리하여 wct_root\java\jre\lib\security\java.security를 임시로 수정하십시오. 이 수정에 대해서는 문제점 해결 팁 주제의 SSL 문제점 해결 절에 설명되어 있습니다.
      5. 동일한 명령 창에서 jconsole Java 유틸리티를 실행하십시오.
        예를 들어, 다음 명령을 실행하십시오.
        "%JAVA_HOME%"\bin\jconsole -J-Djava.class.path="%JAVA_HOME%"\lib\jconsole.jar;"%JAVA_HOME%"\lib\tools.jar;
        C:\restClient\restConnector.jar -J-Djavax.net.ssl.trustStore=C:\restClient\key.jks
         -J-Djavax.net.ssl.trustStorePassword=Liberty -J-Djavax.net.ssl.trustStoreType=jks
        다음 매개변수도 필요합니다.
        -J-Dcom.ibm.ws.jmx.connector.client.disableURLHostnameVerification=true
    2. 서버에 연결한 다음 MBeans 탭을 클릭하십시오. For IBM i platformsjConsole이 시작한 후 원격 프로세스를 선택하고, JMX 서비스 URL인 service:jmx:rest://<host>:<port>/IBMJMXConnectorREST를 입력하십시오. 포트 번호는 HTTPS 포트입니다. 또한 사용자 이름과 비밀번호도 제공해야 합니다.
    3. WebSphere 도메인에서 com.ibm.ws.jmx.mbeans.generatePluginConfig MBean을 찾으십시오.
    4. generateDefaultPluginConfig 조작을 호출하여 plugin-cfg.xml 파일을 생성하거나, plugin-cfg.xml 파일을 생성하기 전에 generatePluginConfig 조작을 호출하여 설치 루트 디렉토리와 서버 이름을 사용자 정의하십시오.
    다음은 plugin-cfg.xml 파일의 예제입니다.
    <?xml version="1.0" encoding="UTF-8"?>
    <Config ASDisableNagle="false" AcceptAllContent="false" AppServerPortPreference="HostHeader" ChunkedResponse="false" FIPSEnable="false" IISDisableNagle="false" IISPluginPriority="High" IgnoreDNSFailures="false" RefreshInterval="60" ResponseChunkSize="64" SSLConsolidate="false" SSLPKCSDriver="REPLACE" SSLPKCSPassword="REPLACE" TrustedProxyEnable="false" VHostMatchingCompat="false">
       <Log LogLevel="Error" Name=".\logs\defaultServer\http_plugin.log"/>
       <Property Name="ESIEnable" Value="true"/>
       <Property Name="ESIMaxCacheSize" Value="1024"/>
       <Property Name="ESIInvalidationMonitor" Value="false"/>
       <Property Name="ESIEnableToPassCookies" Value="false"/>
       <Property Name="PluginInstallRoot" Value="."/>
       <VirtualHostGroup Name="default_host">
             <VirtualHost Name="*:80"/>
             <VirtualHost Name="*:443"/>
             <VirtualHost Name="*:9080"/>
         </VirtualHostGroup>
     <ServerCluster CloneSeparatorChange="false" GetDWLMTable="false" IgnoreAffinityRequests="true" LoadBalance="Round Robin" Name="defaultServer_default_node_Cluster" PostBufferSize="64" PostSizeLimit="-1" RemoveSpecialHeaders="true" RetryInterval="60">
          <Server CloneID="b564bdc7-2c27-4a4b-ad37-9213c66e60d1" ConnectTimeout="0" ExtendedHandshake="false" MaxConnections="-1" Name="default_node_defaultServer0" ServerIOTimeout="900" WaitForContinue="false">
              <Transport Hostname="somehost.example.com" Port="9080" Protocol="http"/>
             </Server>
          <PrimaryServers>
              <Server Name="default_node_defaultServer0"/>
             </PrimaryServers>
        </ServerCluster>
     <UriGroup Name="default_host_defaultServer_default_node_Cluster_URIs">
          <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/myapp/*"/>
          <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/snoop/*"/>
        </UriGroup>
     <Route ServerCluster="defaultServer_default_node_Cluster" UriGroup="default_host_defaultServer_default_node_Cluster_URIs" VirtualHostGroup="default_host"/>
    </Config>
    plugin-cfg.xml 파일은 ${server.output.dir} 디렉토리에 생성됩니다.
    참고:
    • Liberty에서 jConsole 유틸리티를 사용할 수 있습니다. 그러나 유틸리티와 관련한 모든 문제를 Java SDK 제공자에게 보고해야 합니다.
    • WebSphere:name=com.ibm.ws.jmx.mbeans.generatePluginConfig MBean의 관리 인터페이스는 com.ibm.websphere.webcontainer.GeneratePluginConfigMBean입니다.
  3. 웹 서버를 호스트하는 시스템에 plugin-cfg.xml 파일을 복사하십시오. For IBM i platformsIBM i의 경우 다음 단계를 완료하십시오.
    1. manageprofiles Qshell 명령을 실행하여 http 프로파일을 작성하십시오. 예: plugins_root/bin/manageprofiles -create -profileName http -templatePath http.
    2. plugin-cfg.xml 파일을 하위 단계에서 작성된 http 프로파일의 config 디렉토리에 복사하고(예: plugin_profile_root/config/plugin-cfg.xml), 파일 권한을 설정하십시오.
    3. 시스템 명령행에서 다음 명령을 실행하여 파일 권한을 필수 설정으로 변경하십시오.
      CHGAUT USER(QEJBSVR QTMHHTTP QNOTES) OBJ('plugin_profile_root/config/plugin-cfg.xml') DTAAUT(*RWX)

주제의 유형을 표시하는 아이콘 태스크 주제

파일 이름: twlp_generate_plugin_cfg_xml_mbean.html