Liberty 프로파일에 대한 웹 서버 플러그인 구성

웹 서버가 동적 자원에 대한 HTTP 요청을 받으면 요청이 Liberty 프로파일에 전달되도록 웹 서버 플러그인을 구성할 수 있습니다.

이 태스크 정보

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

프로시저

  1. IBM® WebSphere® Application Server와 함께 제공되는 IBM HTTP Server 같은 지원되는 웹 서버를 설치하십시오. IBM HTTP 서버 설치를 참조하십시오. IBM i 플랫폼의 경우IBM i와 함께 제공되는 웹 서버는 이미 IBM i V6R1의 경우 제품 5761-DG1 또는 IBM i V7R1의 경우 5770-DG1에 설치되어 있습니다. IBM i 웹 서버를 IBM i용 IBM HTTP Server라고 부릅니다. WebSphere Application Server와 함께 제공되는 IBM HTTP Server는 IBM i에서 실행되지 않습니다.
  2. WebSphere Customization Toolbox(WCT) 및 웹 서버 플러그인을 설치하십시오.
  3. 분산 플랫폼용WCT를 사용하여 선택된 웹 서버를 위한 웹 서버 플러그인을 구성하십시오.
    • WCT에 프롬프트가 표시되면 "원격" 시나리오를 선택하고 Liberty 프로파일이 액세스할 수 있는 호스트 이름을 지정하십시오.
    • 생성되는 configureWebserver 스크립트는 Liberty 프로파일에 필요하지 않으므로 이 스크립트를 복사하거나 실행하지 마십시오.
  4. 애플리케이션을 호스트하는 서버를 시작하고, localConnector-1.0 기능IBM i 플랫폼의 경우 또는 IBM i용 플러그인을 구성 중인 경우 restConnector-1.0 기능 및 기타 필수 기능이 서버 구성에 포함되었는지 확인하십시오.

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

    pluginConfiguration 요소에서 구성 가능한 모든 속성에 대해서는 server.xml 파일의 구성 요소의 내용을 참조하십시오.

    다음은 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>

    IBM i 플랫폼의 경우IBM i의 경우, localConnector-1.0 기능 대신 restConnector-1.0 기능을 포함하십시오. 자세한 내용은 Liberty 프로파일에 대한 보안 JMX 연결 구성을 참조하십시오.

    IBM i 플랫폼의 경우다음은 IBM i용 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을 사용하도록 웹 서버 플러그인을 구성하는 경우 Liberty 프로파일의 ssl-1.0 Liberty 기능을 사용 가능하게 설정해야 합니다.
    • 웹 서버가 기본 포트를 사용하는 경우 server.xml 파일에 pluginConfiguration 요소를 포함시킬 필요가 없습니다.
    • 웹 서버 플러그인에서 사용하는 키 저장소는 키 관리(iKeyman) 유틸리티를 사용하여 작성할 수 있는 CMS 키 저장소여야 합니다. 웹 서버 플러그인 키 저장소와 Liberty 프로파일 키 저장소 사이에서 서명자 인증서를 교환해야 하지만, 웹 서버 플러그인용 전체 프로파일 또는 Liberty 프로파일이 작성하는 JKS 키 저장소는 사용할 수 없습니다.
    • 플러그인 로그 파일의 위치를 구성하려면 다음과 같은 코드 스니펫을 server.xml 파일에 추가하십시오.
      <Log LogLevel="Error" Name="String\logs\String\http_plugin.log"/>
      또는 [8.5.5.6 이상]
      <Log LogLevel="Error" Name="/path to log file/http_plugin.log"/>
  5. WebSphere:name=com.ibm.ws.jmx.mbeans.generatePluginConfig MBean을 호출하여 Liberty 프로파일 서버와 애플리케이션을 위한 plugin-cfg.xml 파일을 생성하십시오.
    1. 서버와 동일한 Java SDK를 사용하여 명령 창에서 jconsole Java 유틸리티를 실행하십시오.
      예를 들어, 다음 명령을 실행하십시오.
      c:\java\bin\jconsole
      서버 프로세스가 연결을 대기 중인 선택사항에 나열됩니다.
      IBM i의 경우, 워크스테이션에서 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 탭을 클릭하십시오. IBM i 플랫폼의 경우jConsole이 시작한 후 원격 프로세스를 선택하고, 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입니다. 관리 인터페이스를 사용하여 프록시 오브젝트를 확보할 수 있습니다. MBean 속성 및 조작 액세스에 대한 예제을 확인하십시오. 관리 인터페이스에 대한 자세한 정보는 Liberty 프로파일의 Java API 문서를 참조하십시오. 각 Liberty 프로파일 API에 대한 Java API 문서는 Information Center의 프로그래밍 인터페이스(API) 절에 자세히 설명되어 있고 ${wlp.install.dir}/dev 디렉토리의 javadoc 서브디렉토리 중 하나에 별도의 .zip 파일로도 사용 가능합니다.
  6. 웹 서버를 호스트하는 시스템에 plugin-cfg.xml 파일을 복사하십시오. IBM i 플랫폼의 경우IBM 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)
  7. IBM i 플랫폼의 경우plugin-cfg.xml 파일을 사용하도록 HTTP 서버를 구성하십시오.

    HTTP 서버의 구성 파일 끝에 있는 WebSpherePluginConfig 지시문에 대해 지정된 값을 찾아서 현재 plugin-cfg.xml의 위치를 찾으십시오. 예: <IHS_ROOT>/conf/httpd.conf.

    LoadModule 문구를 사용하여 웹 서버의 httpd.conf 파일에서 플러그인을 사용 가능하게 설정하고 WebSpherePluginConfig 문구를 사용하여 plugin-cfg.xml 파일의 위치를 지정하십시오. 예를 들면 다음과 같은 경우가 있습니다.
    • Windows 시스템의 경우: Windows 플랫폼용
      LoadModule was_ap22_module "path/to/mod_was_ap22_http.dll"
      WebSpherePluginConfig "C:\Program Files\IBM\HTTPServer\conf\plugin-cfg.xml"
    • 기타 분산 시스템의 경우: AIX 플랫폼의 경우LINUX 플랫폼용UNIX 플랫폼의 경우HP UNIX 플랫폼의 경우Solaris 플랫폼의 경우IBM i 플랫폼의 경우
      LoadModule was_ap22_module "path/to/mod_was_ap22_http.so"
      WebSpherePluginConfig "/opt/IBM/HTTPServer/conf/plugin-cfg.xml"

    IBM i 플랫폼의 경우IBM i의 경우 Configuring IBM HTTP Server powered by Apache 2.x에서 httpd.conf 파일에서 플러그인을 사용으로 설정하는 것에 대한 지시사항을 참조하십시오.

  8. 옵션: 웹 서버 플러그인이 HTTP 요청을 둘 이상의 Liberty 프로파일 서버에 전달하도록 하려면 각 추가 서버에 대해 이전 단계를 반복하십시오. 모든 플러그인 구성을 하나의 plugin-cfg.xml 파일로 통합하십시오.
    참고:

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

Information Center 이용 약관 | 피드백


시간소인 아이콘 마지막 업데이트 날짜: Wednesday, 2 September 2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_admin_webserver_plugin
파일 이름: twlp_admin_webserver_plugin.html