Generación del archivo plugin-cfg.xml utilizando un MBean
Puede generar el archivo plugin-cfg.xml para el servidor web invocando el MBean WebSphere:name=com.ibm.ws.jmx.mbeans.generatePluginConfig.
Antes de empezar
A partir de 16.0.0.3, no tendrá que
generar el archivo plugin-cfg.xml. El producto
genera el archivo automáticamente. Consulte Generación automática del archivo plugin-cfg.xml.
Si una aplicación mediante programación modifica la configuración de las cookies de sesión utilizando las API del Servlet 3.0, la aplicación debe inicializarse antes de que se genere el archivo plugin-cfg.xml. De lo contrario, el atributo AffinityCookie definido para dicha aplicación puede ser incorrecto. Para evitar este problema, puede establecer deferServletLoad en false, iniciar el servidor, generar el plug-in y luego eliminar el atributo deferServletLoad.
Acerca de esta tarea
Los plug-ins de servidor web se utilizan para reenviar las solicitudes HTTP de un servidor web soportado a uno o varios servidores de aplicaciones. El plug-in toma una solicitud y la comprueba con los datos de configuración en el archivo plugin-cfg.xml. Los datos de configuración correlacionan el URI de la solicitud HTTP con el nombre de host de un servidor de aplicaciones. El plug-in de servidor web utiliza esta información para reenviar la solicitud al servidor de aplicaciones.
Procedimiento
- Inicie el servidor que aloja las aplicaciones y asegúrese de que la característica
localConnector-1.0 para plataformas IBM® i y
z/OS o la característica restConnector-1.0
si está configurando un plug-in para IBM i o
z/OS y se incluyen otras características necesarias
en la configuración de servidor.
En el elemento pluginConfiguration del archivo de configuración del servidor, puede especificar los atributos webserverPort y webserverSecurePort para reenviar las solicitudes del servidor web. De forma predeterminada, el valor de webserverPort es 80 y el valor de webserverSecurePort es 443. Sin embargo, es posible que desee cambiar estos valores. Por ejemplo, en Linux y plataformas similares, si un usuario no es root, debe utilizar números de puerto superiores a 1024.
Para todos los atributos configurables del elemento pluginConfiguration, consulte Java Servlets 3.1.
A continuación se muestra un ejemplo de un archivo de configuración del servidor 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>
Para IBM i y z/OS, incluya la característica restConnector-1.0 en lugar de la característica localConnector-1.0. Para obtener información detallada, consulte Configuración de una conexión JMX segura a Liberty.
A continuación se muestra un ejemplo de un archivo de configuración de servidor server.xml para IBM i y z/OS:<server description="new server"> <!-- Habilitar las características --> <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>
Nota:- Si configura el plug-in de servidor web para utilizar SSL, debe habilitar la característica de Liberty ssl-1.0 Liberty de Liberty.
- Si el servidor web utiliza los puertos predeterminados, no tendrá que incluir el elemento pluginConfiguration en el archivo server.xml.
- El almacén de claves que utiliza el plug-in de servidor web debe ser un almacén de claves CMS, que puede crearse utilizando el programa de utilidad de gestión de claves (iKeyman). No puede utilizar el almacén de claves JKS creado por Liberty o tradicional para el plug-in de servidor web, aunque debe intercambiar certificados de firmante entre el almacén de claves de plug-in de servidor web y el almacén de claves de Liberty.
- Para configurar la ubicación del archivo de registro de plug-in, añada el fragmento de código siguiente al
archivo server.xml en el elemento pluginConfiguration:
logDirLocation="/path/to/log/file/"
- Genere el archivo plugin-cfg.xml para el servidor de Liberty y las aplicaciones invocando el MBean WebSphere:name=com.ibm.ws.jmx.mbeans.generatePluginConfig.
- Utilizando el mismo SDK de Java que el servidor, ejecute el programa de utilidad jconsole de Java en una ventana de mandatos. Por ejemplo, ejecute el siguiente mandato:El proceso de servidor se lista en las opciones que están a la espera de la conexión.
c:\java\bin\jconsole
Para IBM i y z/OS, ejecute el programa de utilidad jconsole de Java desde una ventana de mandatos utilizando el Java SDK instalado con WCT en la estación de trabajo. Por ejemplo, realice los pasos siguientes:- Cree el directorio C:\restClient en su estación de trabajo.
- Copie ${wlp.install.dir}/clients/restConnector.jar en el directorio C:\restClient de la estación de trabajo.
- Copie ${server.output.dir}/resources/security/key.jks en el directorio C:\restClient de la estación de trabajo.
- En una ventana de mandatos, escriba SET JAVA_HOME=wct_root\java.Nota: Modifique temporalmente wct_root\java\jre\lib\security\java.security comentando las dos líneas que establecen las fábricas de sockets SSL de WebSphere Application Server. Esta modificación se documenta en la sección Resolución de SSL del tema de sugerencias de resolución de problemas.
- Desde la misma ventana de mandatos, ejecute el programa de utilidad
jconsole de Java.Por ejemplo, ejecute el siguiente mandato:
Es posible que también necesite el parámetro siguiente:"%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
- Conéctese al servidor y, a continuación, pulse la pestaña MBeans.
- Localice el MBean com.ibm.ws.jmx.mbeans.generatePluginConfig en el dominio de WebSphere.
- Invoque la operación generateDefaultPluginConfig para generar el archivo plugin-cfg.xml, o invoque la operación generatePluginConfig para personalizar el directorio raíz de instalación y el nombre de servidor antes de generar el archivo plugin-cfg.xml.
El archivo plugin-cfg.xml se genera en el directorio ${server.output.dir}.<?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>
Nota:- Puede utilizar el programa de utilidad jConsole con Liberty. No obstante, los problemas con el programa de utilidad deben notificarse al proveedor de SDK Java.
- La interfaz de gestión para el MBean WebSphere:name=com.ibm.ws.jmx.mbeans.generatePluginConfig es com.ibm.websphere.webcontainer.GeneratePluginConfigMBean.
- Utilizando el mismo SDK de Java que el servidor, ejecute el programa de utilidad jconsole de Java en una ventana de mandatos.
- Copie el archivo plugin-cfg.xml en la máquina que aloja el servidor web.

Nombre de archivo: twlp_generate_plugin_cfg_xml_mbean.html