Configuration d'un plug-in de serveur Web pour le profil Liberty

Vous pouvez configurer un plug-in de serveur Web pour que, lorsque le serveur Web reçoit une demande HTTP concernant des ressources dynamiques, la demande soit transmise au profil Liberty.

Pourquoi et quand exécuter cette tâche

Un plug-in de serveur Web est utilisé pour transférer les demandes HTTP d'un serveur Web pris en charge vers un ou plusieurs serveurs d'applications. A la réception d'une demande, le plug-in vérifie celle-ci par rapport aux données de configuration figurant dans le fichier plugin-cfg.xml. Les données de configuration mappent l'URI de la demande HTTP au nom d'hôte d'un serveur d'applications. Le plug-in utilise ensuite ces informations pour transférer la demande vers le serveur d'applications.

Procédure

  1. Installez un serveur Web pris en charge, comme IBM® HTTP Server qui est livré avec IBM WebSphere Application Server. Voir Installation d'IBM HTTP Server. Pour plateformes IBM iLe serveur Web fourni avec IBM i est déjà installé sous le produit 5761-DG1 for IBM i V6R1 ou 5770-DG1 for IBM i V7R1. Le serveur Web IBM i est appelé IBM HTTP Server for IBM i. Le serveur IBM HTTP Server fourni avec WebSphere Application Server ne s'exécute pas sous IBM i.
  2. Installez les plug-ins de serveur Web et WebSphere Customization Toolbox (WCT).
  3. Pour plateformes répartiesConfigurez le plug-in de serveur Web pour le serveur Web de votre choix à l'aide de WTC.
    • Lorsque vous y êtes invité dans WTC, choisissez le scénario "distant" et spécifiez le nom d'hôte sur lequel le profil Liberty est accessible.
    • Ne copiez pas et n'exécutez pas le script configureWebserver généré, car il n'est pas requis avec le profil Liberty.
  4. Démarrez le serveur qui héberge vos applications et vérifiez que la fonction localConnector-1.0Pour plateformes IBM i, ou restConnector-1.0 si vous configurez un plugin pour IBM i, et autres fonctions requises sont incluses dans la configuration du serveur.

    Pour le transfert des demandes depuis un serveur Web, vous pouvez spécifier les attributs webserverPort et webserverSecurePort dans l'élément pluginConfiguration. Par défaut, la valeur de webserverPort est 80 et celle de webserverSecurePort est 443. Vous pouvez cependant changer ces réglages. Par exemple, pour les plateformes Linux et apparentées, si vous êtes un utilisateur non root, vous devez utiliser des numéros de port supérieurs à 1024.

    Pour prendre connaissance de tous les attributs de l'élément pluginConfiguration pouvant être configurés, voir Eléments de configuration dans le fichier server.xml.

    Voici un exemple de fichier de configuration 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>

    Pour plateformes IBM iPour IBM i, incluez la fonction restConnector-1.0 à la place de localConnector-1.0. Pour plus de détails, voir Configuration d'une connexion JMX sécurisée dans le profil Liberty.

    Pour plateformes IBM iVoici un exemple de fichier de configuration de serveur server.xml pour IBM i :
    <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>
    Remarque :
    • Si vous configurez le plug-in de serveur Web en vue de l'utilisation de SSL, vous devez activer la fonction Liberty ssl-1.0 dans le profil Liberty.
    • Si le serveur Web utilise les ports par défaut, il n'est pas nécessaire d'inclure l'élément pluginConfiguration dans le fichier server.xml.
    • Le fichier de clés qui est utilisé par le plug-in de serveur Web doit être un fichier de clés certifiées CMS qui peut être créé à l'aide de l'utilitaire Key Management (iKeyman). Vous ne pouvez pas utiliser le fichier de clés JKS créé par le profil Liberty ou le profil complet pour le plug-in de serveur Web, bien que vous deviez échanger les certificats de signataire entre le fichier de clés du plug-in de serveur Web et le fichier de clés du profil Liberty.
    • Pour configurer l'emplacement du fichier journal du plug-in, ajoutez le fragment de code suivant au fichier server.xml :
      <Log LogLevel="Error" Name="String\logs\String\http_plugin.log"/>
      ou[8.5.5.6 ou ultérieure]
      <Log LogLevel="Error"
      Name="/chemin du fichier journal/http_plugin.log"/>
  5. Générez le fichier plugin-cfg.xml pour votre serveur de profil Liberty et vos applications en appelant le bean géré WebSphere:name=com.ibm.ws.jmx.mbeans.generatePluginConfig.
    1. Avec le même SDK Java que le serveur, exécutez l'utilitaire Java jconsole dans une invite de commande.
      Par exemple, exécutez la commande suivante :
      c:\java\bin\jconsole
      Le processus du serveur est répertorié dans les choix en attente de connexion.
      Pour IBM i, exécutez l'utilitaire jconsole Java à partir d'une fenêtre de commande en utilisant Java SDK installé avec le WCT sur votre poste de travail. Par exemple, effectuez les étapes suivantes :
      1. Créez le répertoire C:\restClient sur votre poste de travail.
      2. Copiez ${wlp.install.dir}/clients/restConnector.jar dans le répertoire C:\restClient de votre poste de travail.
      3. Copiez ${server.output.dir}/resources/security/key.jks dans le répertoire C:\restClient de votre poste de travail.
      4. Dans une fenêtre de commande, saisissez SET JAVA_HOME=wct_root\java.
        Remarque : Modifiez temporairement wct_root\java\jre\lib\security\java.security en mettant en commentaire les deux lignes qui définissent les fabriques de sockets SSL pour les remplacer par les fabriques de sockets SSL de WebSphere Application Server. Cette modification est documentée dans la section relative au traitement des incidents SSL de la rubrique sur l'identification et la résolution des incidents.
      5. A partir de la même fenêtre de commande, exécutez l'utilitaire jconsole Java.
        Par exemple, exécutez la commande suivante :
        "%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
        Vous pouvez également avoir besoin du paramètre suivant :
        -J-Dcom.ibm.ws.jmx.connector.client.disableURLHostnameVerification=true
    2. Connectez-vous à votre serveur, puis cliquez sur l'onglet MBeans. Pour plateformes IBM iUne fois l'outil jConsole démarré, sélectionnez Remote Process, et saisissez l'URL de service JMX : service:jmx:rest://<host>:<port>/IBMJMXConnectorREST. Le numéro de port est le port HTTPS. Vous devez également fournir le nom d'utilisateur et le mot de passe.
    3. Localisez le bean géré com.ibm.ws.jmx.mbeans.generatePluginConfig sous le domaine WebSphere.
    4. Appelez l'opération generateDefaultPluginConfig pour générer le fichier plugin-cfg.xml, ou appelez l'opération generatePluginConfig pour personnaliser le répertoire racine de l'installation et le nom du serveur avant de générer le fichier plugin-cfg.xml.
    Voici un exemple de fichier 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>
    Le fichier plugin-cfg.xml est généré dans le répertoire ${server.output.dir}.
    Remarque :
    • Vous pouvez utiliser l'utilitaire jConsole avec le profil Liberty. Toutefois, tout problème lié à l'utilitaire doit être signalé à votre fournisseur de SDK Java.
    • L'interface de gestion du bean géré WebSphere:name=com.ibm.ws.jmx.mbeans.generatePluginConfig est com.ibm.websphere.webcontainer.GeneratePluginConfigMBean. Vous pouvez utiliser l'interface de gestion afin d'obtenir un objet proxy. Voir Exemples d'accès aux opérations et aux attributs de bean géré. Pour plus d'informations sur l'interface de gestion, voir le document de l'API Java pour le profil Liberty. La documentation d'API Java pour chaque API de profil Liberty est détaillée dans la section Interfaces de programmation (API) du centre de documentation et est également disponible dans un fichier .zip distinct dans l'un des sous-répertoires javadoc du répertoire ${wlp.install.dir}/dev.
  6. Copiez le fichier plugin-cfg.xml sur la machine hôte du serveur Web. Pour plateformes IBM iPour IBM i, procédez comme suit :
    1. Exécutez la commande Qshell manageprofiles pour créer un profil http. Par exemple, plugins_root/bin/manageprofiles -create -profileName http -templatePath http.
    2. Copiez le fichier plugin-cfg.xml dans le répertoire config du profil http créé lors de la sous-étape a, par exemple, plugin_profile_root/config/plugin-cfg.xml, et définissez les droits sur le fichier.
    3. Exécutez la commande suivante à partir d'une ligne de commande système pour modifier les droits sur le fichier pour les paramètres requis :
      CHGAUT USER(QEJBSVR QTMHHTTP QNOTES) OBJ('plugin_profile_root/config/plugin-cfg.xml') DTAAUT(*RWX)
  7. Pour plateformes IBM iConfigurez votre serveur HTTP pour utiliser le fichier plugin-cfg.xml.

    Recherchez l'emplacement de votre fichier plugin-cfg.xml en recherchant la valeur spécifiée pour la directive WebSpherePluginConfig à la fin du fichier de configuration du serveur HTTP. Par exemple, <IHS_ROOT>/conf/httpd.conf.

    Activez le plug-in dans le fichier httpd.conf du serveur Web avec le terme LoadModule et spécifier l'emplacement du fichier plugin-cfg.xml avec le terme WebSpherePluginConfig. Exemple :
    • Sur les systèmes Windows :Pour plateformes Windows
      LoadModule was_ap22_module "path/to/mod_was_ap22_http.dll"
      WebSpherePluginConfig "C:\Program Files\IBM\HTTPServer\conf\plugin-cfg.xml"
    • Sur les autres systèmes répartis :Pour plateformes AIXPour plateformes LINUXPour plateformes UNIXPour plateformes HP UNIXPour plateformes SolarisPour plateformes IBM i
      LoadModule was_ap22_module "path/to/mod_was_ap22_http.so"
      WebSpherePluginConfig "/opt/IBM/HTTPServer/conf/plugin-cfg.xml"

    Pour plateformes IBM iPour IBM i, voir la rubrique relative à la configuration d'IBM HTTP Server géré par Apache 2.x pour des instructions sur l'activation du plug-in dans le fichier httpd.conf.

  8. Facultatif : Si vous voulez que le plug-in du serveur Web transfère les demandes HTTP à plusieurs serveurs de profil Liberty, répétez les étapes précédentes pour chaque serveur supplémentaire. Veillez à regrouper toutes les configurations de plug-in dans un même fichier plugin-cfg.xml.
    Remarque :

Icône indiquant le type de rubrique Rubrique Tâche

Dispositions pour les centres de documentation | Commentaires


Icône d'horodatage Dernière mise à jour: Wednesday, 2 September 2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_admin_webserver_plugin
Nom du fichier : twlp_admin_webserver_plugin.html