El Plug-In para Microsoft Internet Information Server permite que las peticiones sean pasadas (proxy) desde un Microsoft Internet Information Server (IIS) a un Servidor WebLogic. El Plug-In mejora la instalaci�n de un IIS permitiendo que el Servidor WebLogic maneje aquellas peticiones que requieren las funcionalidades din�micas de WebLogic.
El plug-in se ha pensado para un entorno en el que Microsoft Internet Information Server sirve p�ginas est�ticas, y otra parte del �rbol de documentos (p�ginas din�micas mejor generadas por Servlets HTTP o JavaServer Pages) se delega en el Servidor WebLogic, que podr�a estar operando en un proceso diferente, posiblemente en un host diferente. En el usuario final -- el navegador -- las peticiones HTTP delegadas al Servidor WebLogic parecer�n que vienen de la misma fuente. La funcionalidad del tunneling HTTP del protocolo cliente-servidor de WebLogic tambi�n puede operar a atrav�s del Plug-In, proporcionando acceso a todos los servicios del Servidor WebLogic.
�Almacen de Conexiones y Keep-Alive
El Plug-In para Microsoft Internet Information Server mejora el rendimiento usando un almacen de conexiones re-utilizables desde el plug-in hacia el Servidor WebLogic. El Plug-In implementa conexiones HTTP 1.1 keep-alive entre el plug-in y el Servidor WebLogic re-utilizando la misma conexi�n en el almacen para subsecuentes respuestas desde el mismo cliente. Si la conexi�n est� inactiva por m�s de 30 segundos, (u otra cantidad de tiempo definida por el usuario) se cierra y se devuelve al almacen.
�Peticiones Proxy
El plug-in pasa (hace de proxy) peticiones al Servidor WebLogic bas�ndose en una configuraci�n que nosotros especificamos. Podemos pasar peticiones bas�ndonos en la URL de la peticiones (o en una porci�n de la URL). Esto se llama proxy por path. Tambi�n podemos pasar peticiones bas�ndonos en el tipo MIME del fichero solicitado. Tambi�n podemos usar una combinaci�n de �mbos m�todos. Si una petici�n cumple los dos criterios, se pasa por path. Tambi�n podemos especificar par�metros adicionales para aquellos tipos de peticiones que definen un comportamiento adicional del plug-in.
�Plataformas Soportadas
Para obtener la �ltima informaci�n sobre los sistemas operativos y la compatibilidad de las versiones IIS con el Plug-In de Microsoft Internet Information Server, puedes ver la p�gina http://e-docs.bea.com/wls/platforms/index.html#iis.
�Instalar el Plug-In para Microsoft Internet Information Server
Para instalar el Plug-In de Microsoft Internet Information Server:
- Copiamos el fichero iisproxy.dll desde el directorio /bin de nuestra instalaci�n de WebLogic Server dentro de un directorio de conveniencia que sea accesible por IIS. Este directorio tambi�n debe contener el fichero iisproxy.ini.
- Arrancamos el IIS Internet Service Manager, selecccion�ndolo desde el men� de Inicio de Microsoft IIS.
- En la panel izquierdo del Service Manager, seleccionamos nuestra website (por defecto es �Default Web Site�).
- Pulsamos en la flecha �Play� de la barra de herramientas para arrancar.
- Abrimos las propiedades para la website seleccionada pulsando con el bot�n derecho del rat�n sobre la selecci�n de webiste en el panel izquierdo.
- En el panel Properties, seleccionamos la pesta�a Home Directory, y pulsamos el bot�n Configuration en la secci�n Applications Settings.
- Configuramos el tipo de fichero a pasar (proxy):
- Sobre la pesta�a App Mappings, pulsamos el bot�n Add para a�adir los tipos de ficheros y configurarlos para ser pasaddos a WebLogic Server.
- En la caja de di�logo, navegamos hasta encontrar el fichero iisproxy.dll.
- Seleccionamos la Extension del tipo de fichero que queremos pasar a WebLogic Server.
- Marcamos el checkbox Script engine.
- Desmarcamos el checkbox Check that file exists.
- Seleccionamos los m�todos de exclusi�n seg�n sea necesario para crear una instalaci�n segura.
- Cuando finalizamos pulsamos el bot�n OK para grabar la configuraci�n. Repetimos este proceso por cada tipo de fichero que queramos pasar a WebLogic.
- Cuando hayamos terminado de configurar los tipos de ficheros, pulsamos el bot�n OK para cerrar el panel Properties.
Nota:
Cualquier informaci�n de path que a�adamos a la URL despu�s del servidor y del puerto se pasa directamente a WebLogic Server. Por ejemplo, si solicitamos un fichero desde IIS con la URL:http://myiis.com/jspfiles/myfile.jsp
es pasada a WebLogic Server con una URL como:http://mywebLogic:7001/jspfiles/myfile.jsp
- Creamos el fichero iisproxy.ini.
El fichero iisproxy.ini contiene parejas nombre=valor que definen los par�metros de configuraci�n para el plug-in. Los par�metros se listan en Par�metros Generales para Plug-Ins de Servidores Web.
Nota:
Los cambios en los par�metros no tendr�n efecto hasta que no reiniciemos el �IIS Admin Service� (bajo services, en el panel de control).BEA recomienda que situemos el fichero iisproxy.ini en el mismo directorio que contiene el fichero iisproxy.dll. Tambi�n podemos usar otras localizaciones. Si situamos el fichero en otro lugar, observa que WebLogic Server busca iisproxy.ini en los siguientes directorios, y en el siguiente orden:
- En el mismo directorio donde est� iisproxy.dll.
- El directorio home de la versi�n m�s reciente de WebLogic Server que est� referenciada en el Registro de Windows. Si WebLogic Server no encuentra el fichero iisproxy.ini aqu�, contin�a buscando en el registro de Windows viejas versiones de WebLogic Server y busca el fichero iisproxy.ini en los directorios home de dichas instalaciones.
- c:\weblogic
- Definimos el nombre de host y el puerto del Servidor WebLogic al que Microsoft Internet Information Server pasar� las peticiones. Dependiendo de nuestra configuraci�n, hay dos formas de definir el host y el puerto:
- Si estamos pasando peticiones a un s�lo servidor WebLoigc, definimos los par�metros WebLogicHost y WebLogicPort en el fichero iisproxy.ini. Por ejemplo:
WebLogicHost=localhost WebLogicPort=7001
- Si estamos pasando peticiones a un cluster de servidores WebLogic, definimos el par�metro WebLogicCluster en el fichero iisproxy.ini. Por ejemplo:
WebLogicCluster=myweblogic.com:7001,yourweblogic.com:7001
- Si estamos pasando peticiones a un s�lo servidor WebLoigc, definimos los par�metros WebLogicHost y WebLogicPort en el fichero iisproxy.ini. Por ejemplo:
- Configuramos el paso por path. Adem�s de pasar por el tipo de fichero podemos configurar el Plug-In Microsoft Internet Information Server para que sirva ficheros bas�ndose en su path especificando algunos par�metros adicionales en el fichero iisproxy.ini. Pasar por path tiene preferencia sobre el paso por tipo MIME.
Para configurar el paso (proxy) por path:
- Situamos el fichero iisforward.dll en el mismo directorio que el fichero iisproxy.dll y a�adimos el fichero iisforward.dll como un filtro de servicio en IIS (WebSite Properties ?ISAPI Filters tab ?Add el iisforward dll).
- Registramos .wlforward como un tipo especial de fichero a manejar por iisproxy.dll.
- Definimos la propiedad WlForwardPath en iisproxy.ini. WlForwardPath define el path pasado al Servidor WebLogic, por ejemplo:
WlForwardPath=/weblogic.
- Seleccionamos el par�metro PathTrim para cortar el WlForwardPath cuando sea necesario. Por ejemplo, usando:
WlForwardPath=/weblogic PathTrim=/weblogic
cortamos una petici�n desde IIS a Weblogic Server. Por lo tanto, /weblogic/session es cambiado por /session.
- Si queremos que las peticiones no contengan informaci�n extra de path (en otras palabras, que las peticiones s�lo contengan el nombre del host), seleccionamos el par�metro DefaultFileName con el nombre de la p�gina de bienvenida de la Aplicaci�n Web a la que se le est� pasando la petici�n. El valor de este par�metro se a�ade a la URL.
- Si necesitamos depurar nuestra aplicaci�n, seleccionamos el par�metro Debug=ON en el fichero iisproxy.ini. Se genera un fichero c:\tmp\iisforward.log que contiene un diario de la actividad del plug-in que podemos usar para depurar.
- Seleccionamos cualquier par�metro adicional del fichero iisproxy.ini. Los par�metros se listan en Par�metros Generales para Plug-Ins de Servidores Web.
- Si estamos pasando servlets desde IIS al Servidor WebLogic y no estamos pasando por path, debemos leer la secci�n Pasar Servlets desde IIS al Servidor WebLogic.
�Crear ACLs atrav�s de IIS
Los ACLs no funcionan a trav�s del Plug-In de Microsoft Internet Information Server si el IIS no pasa la cabecera de autorizaci�n. Usamos la siguiente informaci�n para asegurarnos de que la cabecera de Autorizaci�n es pasada.
Cuando usamos Autenticaci�n B�sica, el usuario entra con derechos de log local. Para permitir el uso de Autenticaci�n b�sica, concedemos a cada cuenta de usuario los derechos de usuario Log On Locally en el servidor IIS. Observa que podr�an resultar dos problemas del uso de logon local de la Autenticaci�n b�sica:
- Si el usuario no tiene permisos de logon local, la Autenticaci�n b�sica no funcionar� incluso si las configuraciones de FrontPage, IIS, y Windows NT parecen ser correctas.
- Un usuario que tenga permisos de logon local y que pueda obtener acceso f�sico al ordenador host que ejecuta IIS podr�a arrancar una sesi�n interactiva en la consola.
Para permitir la Autenticaci�n B�sica, en el pesta�a Directory Security de la consola, nos aseguramos que que la opci�n Allow Anonymous est� a "on" y todas las dem�s opciones est�n a "off".
�Fichero iisproxy.ini de Ejemplo
Aqu� tenemos un fichero iisproxy.ini de ejemplo, para usarlo con un s�lo servidor WebLogic (sin clusters). Las l�nea de comentarios empiezan con el car�cter "#":
# This file contains initialization name/value pairs # for the IIS/WebLogic plug-in. WebLogicHost=localhost WebLogicPort=7001 ConnectTimeoutSecs=20 ConnectRetrySecs=2
Aqu� tenemos un fichero iisproxy.ini de ejemplo con un cluster de Servidores WebLogic:
# This file contains initialization name/value pairs # for the IIS/WebLogic plug-in. WebLogicCluster=myweblogic.com:7001,yourweblogic.com:7001 ConnectTimeoutSecs=20 ConnectRetrySecs=2
|
Nota:
Si estamos usando SSL entre el Plug-In y el servidor WebLogic el n�mero de puerto deber�a est� definido como el puerto de escucha SSL. |
�Usar SSL con el Plug-In de Microsoft Internet Information Server
Podemos usar el protocolo Secure Sockets Layer (SSL) para proteger la conexi�n entre el Plug-In de Microsoft Internet Information Server y el Servidor WebLogic. El protocolo SSL proporciona confidencialidad e integridad de los datos pasados entre el Plug-In de Microsoft Internet Information Server y el Servidor WebLogic. Adem�s, el protocolo SSL permite al plug-in autenticarse a si mismo en el Servidor WebLogic para asegurar que la informaci�n es pasada a un principal seguro.
El Plug-In de Microsoft Internet Information Server no usa el protocolo de transporte (http o https) para determinar si se usar� o no el protocolo SSL para proteger la conexi�n entre el plug-in y el Microsoft Internet Information Server. Para usar el protocolo SSL con el Plug-In de Microsoft Internet Information Server, configuramos el Servidor WebLogic que recibe las peticiones pasadas para usar el protocolo SSL. Se usa el puerto de este servidor que est� configurado para comunicaci�n segura SSL para comunicar con el Microsoft Internet Information Server.
Para usar el protocolo SSL entre el Plug-In de Microsoft Internet Information Server y el Servidor WebLogic:
- Configuramos el Servidor WebLogic para SSL. Para m�s informaci�n puedes ver Configurar el Protocolo SSL.
- Configuramos el puerto de escucha SSL del Servidor WebLogic. (Ver Configurar el Puerto de Escucha).
- Seleccionamos el par�metro WebLogicPort en el fichero iisproxy.ini al puerto de escucha configurado en el paso 2.
- Seleccionamos el par�metro SecureProxy en el fichero iisproxy.ini a ON.
- Seleccionamos cualquier par�metro adicional en el fichero iisproxy.ini que defina informaci�n sobre la conexi�n SSL. Puedes ver una lista completa de par�metros en Par�metros SSL para Plug-Ins de Servidores Web.
Por ejemplo:
WebLogicHost=myweblogic.com WebLogicPort=7002 SecureProxy=ON
�Pasar Servlets desde IIS al Servidor WebLogic
Los Servlets se pueden pasar por path si la iisforward.dll est� registrada como un filtro. Deber�amos llamar a nuestro servelt con una URL similar a esta:
http://weblogic:7001/weblogic/myServlet
Para pasar servlets si iisforward.dll no est� registrada como un filtro, debemos configurar el paso por tipo de fichero. Para pasar Servlets por tipo de fichero:
- Registramos un tipo de fichero arbitrario (extensi�n) con IIS para pasar la petici�n al Servidor WebLogic, como se describe en el paso 7 de Instalar el Plug-In de Microsoft Internet Information Server.
- Registramos nuestro servlets en la Aplicaci�n Web apropiada.
- Llamamos a nuestro servlet con una URL formada siguiendo este patr�n:
http://www.myserver.com/virtualName/anyfile.ext
donde virtualName es el patr�n de URL definido en el elemento <servlet-mapping> del descriptor de despliegue de la aplicaci�n Web para este servlet, y ext es un tipo de fichero (extensi�n) registrada con IIS para ser pasada para el Servidor WebLogic. la parte anyfile de la URL se ignora en este contexto.
Nota:
- Si los enlaces de imagenes llamados desde el servlet son parte de la aplicaci�n Web, tambi�n debemos pasar las peticiones de las im�genes al sevidor WebLogic registrando el tipo de fichero apropiado (probablemente .gif y .jpg) con IIS. Sin embargo, podemos elegir servir estas im�genes directamente desde IIS si se desea
- Si el servlet que est� siendo pasado tiene enlaces que llaman a otros servlets, estos enlaces tambi�n deben ser pasados al servidor WebLogic, conforme al patr�n mostrado arriba.
�Probar la Instalaci�n
Despu�s de instalar y configurar el Plug-In de Microsoft Internet Information Server, seguimos los siguientes pasos para desplegarla y probarla:
- Nos aseguramos de que el Servidor WebLogic e IIS est� ejecut�ndose.
- Grabamos un fichero JSP dentro del documento ra�z de la Aplicaci�n Web por defecto.
- Abrimos un navegador y seleccionamos la URL con el IIS m�s filename.jsp como se muestra en este ejemplo:
http://myii.server.com/filename.jsp
Si filename.jsp se ve en nuestro navegador, el plug-in est� funcionando.
�Errores de Conexi�n y Control de Fallos en Clustering
Cuando el Plug-In de Microsoft Internet Information Server intenta conectar con el Servidor WebLogic, usa varios par�metros de configuraci�n para determinar cu�nto tiempo esperar las conexiones con el host del Servidor WebLogic y, despu�s de establecida la conexi�n, cu�nto esperar por una respuesta. Si el plug-in no puede conectar o no recibe una respuesta, intentar� conectar y env�ar la petici�n a otro Servidor WebLogic del Cluster. Si la conexi�n falla o no hay respuesta de ning�n servidor WebLogic del cluster, se env�a un mensaje de error.
�Fallos de Conexi�n
El fallo de un host al responder a una petici�n de conexi�n podr�a indicar posibles problemas con la m�quina host, problemas de red, u otros varios fallos de servidor.
El fallo de un Servidor WebLogic al responder, podr�a indicar que WebLoigc no se est� ejecutando que no est� disponible, un cuelgue de servidor, un problema de base de datos, u otro fallo de aplicaci�n.
�Control de Fallos con un S�lo Servidor (sin cluster)
Si est�mos ejecutando un s�lo Servidor WebLogic se aplica la misma l�gica descrita aqu�, excepto en que el plug-in s�lo intenta conectar con el servidor definido en el par�metro WebLogicHost. Si el intento falla, se devuelve un mensaje de error HTTP 503. El plug-in contin�a intentando conectar con el Servidor WebLogic hasta que se excede el tiempo ConnectTimeoutSecs.
�La Lista de Servidores Din�mica
Cuando especificamos una lista de servidores WebLogic en el par�metro WebLogicCluster, el plug-in usa esa lista como punto de entrada para el balance de carga entre los miembros del cluster. Despu�s de que se haya enrutado la primera petici�n a uno de esos servidores, se devuelve una lista din�mica que contiene una lista actualizada con los servidores que hay en el cluster. La lista actualizada a�ade cualquier nuevo servidor en el cluster y borra cualquier otro que haya dejado de formar parte de �l, o que haya fallado al responder peticiones. Esta lista se actualiza autom�ticamene con la respuesta HTTP cuando ocurre un cambio en el cluster.
�Control de Fallos, Cookies y Sesiones HTTP
Cuando una petici�n contiene una informaci�n de sesi�n almacenada en un cookie, en los datos POST, o codificando la URL, la ID de la sesi�n contiene una referencia al servidor espec�fico en que se estableci� originalmente la sesi�n (llamado servidor primario) y una referencia a un servidor adicional donde se ha replicado la sesi�n original (llamado servidor secundario). Una petici�n que contiene una cookie intenta conectar con el servidor primario, si el intento falla, la petici�n se enruta hacia el servidor secundario. Si ambos servidores fallan, la sesi�n se pierde y el plug-in intenta hacer una nueva conexi�n con otro servidor de la lista din�mica del cluster. Puedes ver m�s informaci�n en la siguiente figura:
