Foros del Web » Programando para Internet » ASP Clásico »

IIS que redirecciona a Apache

Estas en el tema de IIS que redirecciona a Apache en el foro de ASP Clásico en Foros del Web. Buenas, la verdad que no sabía donde poner este mensaje, y lo pongo aquí. La cuestion es que tengo IIS y Apache, el primero configurado ...
  #1 (permalink)  
Antiguo 07/02/2003, 08:00
 
Fecha de Ingreso: enero-2002
Ubicación: Cádiz, España
Mensajes: 96
Antigüedad: 23 años, 4 meses
Puntos: 0
IIS que redirecciona a Apache

Buenas, la verdad que no sabía donde poner este mensaje, y lo pongo aquí. La cuestion es que tengo IIS y Apache, el primero configurado en el puerto 80 y el apache el puerto 90. El problema es que por cuestiones de imposibilidad el puerto 90 está cerrado, y es imposible abrirlo, ni ese ni ninguno. Sólo el puerto 80. Bueno, la cuestion es que quiero que cada vez que se haga una petición a la pagina, y se pongo un directorio me lo resuelva con el servidor Apache. Por ejemplo:

www.pagina.com/apache

redireccione a www.pagina.com:90. Pero no que redireccione, si no que me lo resuelva. He visto como se hace con el TomCat, y se hace mediante filtro ISAPI,y se configura para que salte al TomCat cada vez que se llama a un directorio concreto del IIS. Pero aunque lo he visto no se exactamente como funciona, ni como se hace.

¿alguien sabe algo sobre este tema?

es muy importante. Gracias a todos por vuestra ayuda
__________________
http://www.javielinux.com
  #2 (permalink)  
Antiguo 07/02/2003, 09:08
 
Fecha de Ingreso: julio-2002
Mensajes: 4
Antigüedad: 22 años, 9 meses
Puntos: 0
esto te puede servi, si te falta algun archivo mandame un mp o un correo

parte1

CONFIGURACIÓN DE TOMCAT CON IIS

Este documento explica como hacer que IIS conviva con Tomcat.
Normalmente IIS no puede ejecutar Servlets y JSP (Java Server Pages).
Configurando IIS para usar el plugin redireccionador de Tomcat se le permitirá al IIS enviar peticiones de Servlets y JSP al servidor Tomcat, y de esta manera servir a los clientes.

Convenciones
Sea <tomcat_home> el directorio raíz de Tomcat. La instalación de Tomcat debe generar los siguientes directorios:
1. <tomcat_home>\conf - Directorio con archivos de configuracion
2. <tomcat_home>\webapps - Contiene aplicaciones de ejemplo
3. <tomcat_home>\bin - Lugar donde se ubican los plugins del servidor

En este documento se supondrá que <tomcat_home> es c:\jakarta-tomcat-3.2.3

Definición
Un worker se define como un proceso de Tomcat
Se utilizará un worker que aceptará trabajo desde el servidor IIS.

Requerimientos
El redireccionador IIS-Tomcat fue desarrollado y probado en:
• WinNT4.0-i386 SP4/SP5/SP6a y Win98
• IIS4.0 y PWS4.0
• Tomcat3.0 - Tomcat3.2
El redireccionador utiliza ajp12 para enviar peticiones a los contenedores de Tomcat.

Instalación
El redireccionador de Servlets requiere 3 archivos:

1. isapi_redirect.dll El plugin para IIS
2. workers.properties Un archivo que define el servidor y el puerto usado por los procesos de Tomcat. Un ejemplo de workers.properties puede ser encontrado en c:\jakarta-tomcat\conf
3. uriworkermap.properties Un archivo que mapea URL y Paths a los workers , es decir, registra los contextos (directorios virtuales) y su asociación con un worker, el worker por defecto es ajp12


¿QUÉ ES UN WORKER?

Un worker de Tomcat es un objeto de Tomcat que está esperando a ejecutar servlets a petición de un Servidor Web. Por ejemplo, podemos tener un servidor Web como Apache que redirige peticiones de servlet a procesos Tomcat (los workers) corriendo detrás de él.

El escenario descrito es bastante simple, de hecho uno puede configurar múltiples workers Tomcat para servir servlets a petición de un cierto servidor Web. Las razones para tal configuración pueden ser:

1. Necesitamos que diferentes contextos sean servidos por diferentes workers de Tomcat para proveer de un ambiente de desarrollo donde todos los desarrolladores comparten un mismo servidor web pero cada uno tiene un worker propio.
2. Necesitamos servir diferentes hosts virtuales servidos por procesos Tomcat diferentes para proveer de una clara separación entre sitios pertenecientes a distintas compañías.
3. Necesitamos proveer balanceo de carga, que implica ejecutar múltiples workers de Tomcat cada uno en una máquina propia y distribuir las peticiones entre ellos.

Pueden haber aún más razones para tener múltiples workers, pero estas son las principales.


Configuración de Workers

Los workers de Tomcat están definidos en un archivo workers.properties.
Primero, este archivo contiene una lista de todos los workers que se utilizarán.

worker.list=nombre_worker1, nombre_worker2, ....

ejemplo:
worker.list=ajp12, ajp13

worker.ajp12.port=8007
worker.ajp12.host=localhost
worker.ajp12.type=ajp12

worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1
#crea un worker de tipo loadbalancer y no se pone en la lista inicial
worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=ajp12, ajp13


Luego, para cada worker se debe definir el tipo de worker, este tipo se refiere al protocolo de comunicación entre el Worker y el Servidor Web con que se realiza la comunicación (Apache, IIS, etc.)


El tipo de un worker se define como:

worker.<nombre del worker>.type=<tipo del worker>



Los tipos permitidos son:

ajp12 : Utiliza el protocolo ajpv12 para comunicarse con el servidor
ajp13 : Utiliza el protocolo ajpv13 para comunicarse con el servidor
jni : Utilizado para contenedores in-process (workers dentro de Tomcat)
lb : Worker para el balanceo de carga.

POR DEFECTO, Tomcat trae definidos en su archivo workers.properties, 4 workers, uno de cada tipo, cuyos nombres son ajp12 (tipo AJP12), ajp13 (tipo AJP13), loadbalancer (tipo LB), inprocess (tipo JNI).


Worker tipo ajp12
Estos workers se comunican utilizando el protocolo AJPV12 sobre sockets TCP/IP.
Cada worker de este tipo puede configurarse con las siguientes 3 propiedades:

port: puerto donde escuchará peticiones ajp12. Ejemplo: worker.miworker.port=8007

host: máquina donde el worker escucha peticiones. Ej.: worker.miworker.host=localhost

lbfactor: factor de carga, utilizado cuando se utiliza un worker de balanceo de carga. El factor de carga debe ser un numero real mayor que cero.
Ejemplo: worker.miworker.lbfactor=2.5



Worker tipo ajp13
Estos workers se comunican utilizando el protocolo AJPV13 sobre sockets TCP/IP.
Las principales diferencias con ajp12 son que:

1. ajpv13 es un protocolo más binario y trata de comprimir algunos de los datos de la petición codificando string usados frecuentemente como enteros pequeños.
2. ajpv13 reutiliza sockets abiertos y los deja abiertos para peticiones futuras.
3. ajpv13 tiene un tratamiento especial para información SSL, para permitir conexiones seguras.

Cada worker de este tipo puede configurarse con las mismas propiedades que ajp12, pero además tiene la siguiente propiedad:

cachesize: especifica el número de conexiones abiertas (sockets) que este worker mantendrá. Ejemplo: worker.miworker.cachesize=30


Balanceo de Carga
Para utilizar el balanceo de carga, se necesita definir un worker del tipo lb (load balancing).
Este worker no se comunica realmente con workers de Tomcat; en vez de eso es responsable por la administración de varios workers reales. Esta administración incluye:

1.- Instanciar los workers en el servidor web
2.- Usar el factor de balanceo de los workers, realizar operaciones de ponderación y rondas de utilización para balanceo de carga donde EL FACTOR DE CARGA MAS ALTO SIGNIFICA UNA MÁQUINA MÁS PODEROSA (que implica que puede manejar más peticiones)
3.- Mantener las peticiones pertenecientes a una misma sesión ejecutándose en un mismo worker de Tomcat.
4.- Identificar workers de Tomcat que han fallado, suspender peticiones a ellos y redirigir las peticiones a otros workers.

El resultado final es que los workers administrados por el mismo worker de balanceo son balanceados en su carga y los que se han caído o fallado, no implican una caída del sitio completo.



La única propiedad del worker de balanceo de carga es:

balanced_workers: una lista separada por coma de los workers que el balanceador de carga necesita administrar. Este worker (el balanceador) no debe aparecer en la propiedad worker.list.

Ejemplo:

worker.loadbalancer.balanced_workers=ajp12, ajp13
  #3 (permalink)  
Antiguo 07/02/2003, 09:10
 
Fecha de Ingreso: julio-2002
Mensajes: 4
Antigüedad: 22 años, 9 meses
Puntos: 0
.....continuacion.....



La instalación comprende 2 pasos:

a) Configurar el redireccionador con un contexto (directorio virtual en servlets) /examples y probar que se pueden servir servlets con IIS con los ejemplos en su interior.
b) Agregar más contextos (directorio virtual en servlets) a la configuración


a) Configurando el Redireccionador

Asumiendo que el archivo isapi_redirect.dll está ubicado en:

c:\jakarta-tomcat-3.2.3\bin\win32\i386\isapi_redirect.dll

entonces:

1- En el registro de Windows (regedit.exe), cree un nueva clave de registro llamada:
"HKEY_LOCAL_MACHINE\SOFTWARE\
Apache Software Foundation\Jakarta Isapi Redirector\1.0"

2- Agregue un Valor String (Add String Value) con el nombre extension_uri y el valor /jakarta/isapi_redirect.dll

3- Agregue un Valor String (Add String Value) con el nombre log_file y el valor apuntando a donde usted quiere guardar el archivo de logs (por ejemplo
c:\jakarta-tomcat\logs\isapi.log).

4- Agregue un Valor String (Add String Value) con el nombre log_level y el valor para tu nivel de registro log (puede ser debug, info, error o emerg).

5- Agregue un Valor String (Add String Value) con el nombre worker_file y un valor que es el path absoluto al archivo workers.properties file (por ejemplo
c:\jakarta-tomcat\conf\workers.properties)

6- Agregue un Valor String (Add String Value) con el nombre worker_mount_file y un valor que es el path absoluto al archivo uriworkermap.properties file (por ejemplo
c:\jakarta-tomcat\conf\uriworkermap.properties)

7- Utilizando el administrador del servidor web (IIS o PWS), agregue un directorio virtual a su sitio. EL NOMBRE DEL DIRECTORIO VIRTUAL DEBE SER jakarta. Su path físico debe ser el directorio donde usted ubicó el archivo isapi_redirect.dll (en este ejemplo es
c:\jakarta-tomcat\bin\win32\i386). El directorio virtual debe ser creado con permiso de ejecución.

8- Utilizando el administrador del servidor web (IIS o PWS), agregue el filtro isapi_redirect.dll en su sitio en IIS/PWS (ISAPI Filters en Propiedades del Sitio Web). El nombre del filtro debe ser un nombre arbitrario como por ejemplo servlets o tomcat. su ejecutable debe ser c:\jakarta-tomcat\bin\win32\i386\isapi_redirect.dll (para este ejemplo).
Para PWS, usted necesita usar regedit para agregar y editar la clave Filter DLLs en
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Servic es\W3SVC\Parameters.
Esta clave contiene una lista separada por coma de los dlls ( paths absolutos ) - usted necesita insertar el path absoluto al archivo isapi_redirect.dll.

9- Reinicie IIS (stop + start del servicio IIS), asegúrese que el filtro ISAPI está marcado con una flecha verde que apunta hacia arriba.
Windows NT/2000: notar que que la característica de stop/start de la Microsoft Management Console no detiene e inicia realmente el servicio IIS. Usted debe utilizar el item de Servicios en el Panel de Control (o el comando net) para detener e iniciar el servicio llamado "World Wide Web Publishing Service".



Win98: Usted necesita ir al directorioWINDOWS\SYSTEM\inetsrv en una consola DOS y tipear PWS /stop ( los archivos DLL y de log están bloqueados - incluso si usted hace click en el botón Stop PWS todavía mantendrá las DLLs en memoria. ). Tipee PWS para iniciar el servicio nuevamente.
Eso es todo. Usted debe ahora iniciar Tomcat y solicitar en un browser el directorio /examples (contexto /examples). Intente con http://localhost/examples/jsp/index.html por ejemplo y ejecute algunos de los ejemplos de JSP.

Observación: En el caso de que el servidor de web sea apache, existe un módulo para comunicarse con el servidor tomcat, llamado mod_jk .



Agregando Contextos Adicionales (directorios virtuales para IIS)

El contexto de ejemplos (/examples) es útil para la instalación. Ahora usted necesita agregar sus propios contextos. Para ello usted requiere:

a) Agregar el contexto al Tomcat
b) Agregar el contexto al redireccionador ISAPI


a) Agregar un contexto al redireccionador ISAPI es simple, solo basta con editar el archivo uriworkermap.properties ubicado en C:\jakarta-tomcat-3.2.3\conf y agregar una línea similar a:

/context/*=worker_name

Los workers y sus nombres estan definidos en workers.properties, por defecto workers.properties viene un con único pre-configurado worker llamado "ajp12" que usted puede usar. Como ejemplo, si usted quiere agregar un contexto llamado "compras" la línea que usted debe agregar a uriworkermap.properties será:

/compras/*=ajp12

Después de grabar el archivo uriworkermap.properties reinicie IIS y éste servirá el nuevo contexto. Como se describió anteriormente usted debe realmente detener el servicio IIS desde el Panel de Control.



Para cambiar el nombre servlet de la url, en tomcat se debe editar el archivo server.xml y modificar:

<RequestInterceptor className="org.apache.tomcat.request.InvokerInterc eptor"
debug="0" prefix="/servlet/" />


¿Cómo funciona el redireccionador?

• El redireccionador IIS-Tomcat es un plugin IIS , IIS carga el plugin redireccionador y llama a su función de filtro para cada petición HTTP entrante.
• El filtro entonces prueba la URL contra una lista de paths URI que se mantienen dentro del archivo uriworkermap.properties. Si la petición solicita una de las entradas en la lista de paths URI, el filtro transfiere la petición a la extensión.
• La extensión recolecta los parámetros HTTP de la petición y los canaliza al worker apropiado usando el protocolo ajp12.
• La extensión recolecta la respuesta desde el worker y la devuelve al browser. [/QUOTE]
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:09.