Configuración de un plug-in de servidor web para el perfil Liberty
Puede configurar un plug-in de servidor web de modo que, cuando el servidor web recibe una solicitud HTTP de recursos dinámicos, la solicitud se reenvía al perfil Liberty.
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
- Instale un servidor web soportado, como por ejemplo
IBM® HTTP Server que se entrega con
IBM
WebSphere Application Server. Consulte Instalación de IBM HTTP Server.
El servidor web que se proporciona con IBM i ya está instalado con el producto 5761-DG1 para IBM i V6R1 o 5770-DG1 para IBM i V7R1. El servidor web IBM i se conoce como IBM HTTP Server for IBM i. IBM HTTP Server que se proporciona con WebSphere Application Server no se ejecuta en IBM i.
- Instale los plug-ins de servidor web y WebSphere Customization
Toolbox (WCT).
- Para instalar el plug-in de servidor web, consulte Instalación y configuración de los plug-ins de servidor web.
Para IBM i, consulte Instalación y configuración de plug-ins de servidor web.
- Para instalar WCT,
consulte Instalación y utilización de WebSphere Customization Toolbox.
Para IBM i, instale WCT en su estación de trabajo. Sin embargo, no es necesario que instale ninguna otra herramienta de WCT. Java™ SDK se ha instalado con WCT que se utiliza para ejecutar el programa de utilidad Java jconsole en un paso posterior.
- Para instalar el plug-in de servidor web, consulte Instalación y configuración de los plug-ins de servidor web.
Configure el plug-in del servidor web para el servidor web que haya elegido utilizando WCT.
- Cuando se le solicite en WCT, elija el caso de ejemplo "remoto" y especifique un nombre de host en el que esté accesible el perfil Liberty.
- No copie ni ejecute el script configureWebserver generado porque este script no es necesario con el perfil Liberty.
- Inicie el servidor que aloja las aplicaciones y asegúrese de que la característica
localConnector-1.0 o la característica
o la característica restConnector-1.0 si configura un plug-in para IBM i y otras características necesarias se incluyen en la configuración del 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 Elementos de configuración en el archivo server.xml.
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, 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 con el perfil Liberty.
A continuación se muestra un ejemplo de un archivo de configuración del servidor server.xml para IBM i:
<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 del perfil 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 que se crea mediante el perfil Liberty o el perfil completo para el plug-in de servidor web, aunque debe intercambiar certificados de firmante entre el almacén de claves del plug-in de servidor web y el almacén de claves del perfil Liberty.
- Para configurar la ubicación del archivo de registro del plug-in, añada el fragmento de código siguiente al archivo server.xml:
o<Log LogLevel="Error" Name="String\logs\String\http_plugin.log"/>
<Log LogLevel="Error" Name="/vía de acceso al archivo de registro/http_plugin.log"/>
- Genere el archivo plugin-cfg.xml para el servidor de perfiles Liberty y las aplicaciones invocando el MBean WebSphere:name=com.ibm.ws.jmx.mbeans.generatePluginConfig.
- Utilizando el mismo JDK Java que el servidor, ejecute el programa de utilidad Java jconsole en una ventana de mandatos. Por ejemplo, ejecute el mandato siguiente:El proceso de servidor se lista en las opciones que están a la espera de la conexión.
c:\java\bin\jconsole
En IBM i, ejecute el programa de utilidad jconsole de Java desde una ventana de mandatos mediante el Java SDK instalado con WCT en su estación de trabajo. Por ejemplo, lleve a cabo 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: Temporalmente, modifique 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 problemas de SSL del tema Sugerencias para la resolución de problemas.
- Desde la misma ventana de mandatos, ejecute el programa de utilidad
jconsole de Java. Por ejemplo, ejecute el mandato siguiente:
Puede que 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.
Después de que jConsole se inicie, seleccione Proceso remoto, y especifique el URL del servicio JMX: service:jmx:rest://<host>:<port>/IBMJMXConnectorREST. El número de puerto es el puerto HTTPS. Debe proporcionar también el nombre de usuario y la contraseña.
- 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 el perfil 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. Puede utilizar la interfaz de gestión para obtener un objeto de proxy. Consulte Ejemplos de acceso a atributos y operaciones de MBean. Para obtener más información sobre la interfaz de gestión, consulte el documento de la API Java para el perfil Liberty. La documentación de la API Java para cada API de perfil Liberty se detalla en la sección Interfaces de programación (API) del Information Center, y también está disponible como un archivo .zip aparte en uno de los subdirectorios javadoc del directorio ${wlp.install.dir}/dev.
- Utilizando el mismo JDK Java que el servidor, ejecute el programa de utilidad Java jconsole en una ventana de mandatos.
- Copie el archivo plugin-cfg.xml en la máquina
que aloja el servidor web.
Para IBM i, lleve a cabo los pasos siguientes:
- Ejecute el mandato manageprofiles Qshell para crear un perfil http. Por ejemplo, raíz_plugins/bin/manageprofiles -create -profileName http -templatePath http.
- Copie el archivo plugin-cfg.xml en el directorio config del perfil http que se ha creado en un paso a, por ejemplo, raíz_perfil_plugin/config/plugin-cfg.xml, y establezca los permisos del archivo.
- Ejecute el mandato siguiente desde una línea de mandatos del sistema para cambiar los
permisos de archivo a los valores necesarios:
CHGAUT USER(QEJBSVR QTMHHTTP QNOTES) OBJ('raíz_perfil_plugin/config/plugin-cfg.xml') DTAAUT(*RWX)
Configure el servidor HTTP para que use el archivo plugin-cfg.xml.
Busque la ubicación del archivo plugin-cfg.xml actual buscando el valor especificado para la directiva WebSpherePluginConfig al final del archivo de configuración del servidor HTTP. Por ejemplo, <IHS_ROOT>/conf/httpd.conf.
Habilite el plug-in en el archivo httpd.conf del servidor web utilizando la frase LoadModule y especifique la ubicación del archivo plugin-cfg.xml utilizando la frase WebSpherePluginConfig. Por ejemplo:- En sistemas
Windows:
LoadModule was_ap22_module "path/to/mod_was_ap22_http.dll" WebSpherePluginConfig "C:\Program Files\IBM\HTTPServer\conf\plugin-cfg.xml"
- En otros sistemas distribuidos:
LoadModule was_ap22_module "path/to/mod_was_ap22_http.so" WebSpherePluginConfig "/opt/IBM/HTTPServer/conf/plugin-cfg.xml"
Para IBM i, consulte Configuración de IBM HTTP Server basado en Apache 2.x para obtener instrucciones sobre cómo habilitar el plug-in dentro del archivo httpd.conf.
- En sistemas
Windows:
- Opcional: Si desea que el plug-in de servidor web reenvíe solicitudes HTTP a más de un servidor de perfiles Liberty, repita los pasos anteriores para cada servidor adicional. Asegúrese de consolidar todas las configuraciones de plug-in en un archivo plugin-cfg.xml. Nota:
- 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.
- Puede utilizar un programa de utilidad denominado pluginCfgMerge en el perfil completo para fusionar varios archivos plugin-cfg.xml. Consulte Configuración del equilibrio de carga simple entre varios perfiles de servidor de aplicaciones.
- Si está utilizando el gestor de trabajos para fusionar varios archivos plugin-cfg.xml. Consulte Generación de una configuración de plug-in fusionada para servidores de perfiles Liberty utilizando el gestor de trabajos.

Términos y condiciones para centros de información | Comentarios

http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_admin_webserver_plugin
Nombre de archivo:twlp_admin_webserver_plugin.html