Análisis en profundidad de IIS 6.0 (tres)

  
                              

En cuarto lugar, los detalles del grupo de aplicaciones
Anteriormente, aprendimos sobre los componentes clave de la arquitectura de IIS 6.0, echemos un vistazo a algunos de los problemas relacionados con el grupo de aplicaciones. El cuadro de diálogo Propiedades del grupo de aplicaciones tiene cuatro páginas: reciclaje, rendimiento, estado e identidad, como se muestra en la Figura 6. Quizás la más atractiva de estas páginas de opciones es la página de reciclaje, que le permite administrar el reciclaje de los procesos de trabajo. En el modo de aislamiento de procesos de trabajo, IIS se puede configurar para reiniciar periódicamente los procesos de trabajo en el grupo de aplicaciones para administrar mejor los procesos de trabajo que tienen errores. Esto garantiza que las aplicaciones en el grupo funcionen correctamente y que se puedan recuperar los recursos perdidos del sistema. Para reclamar el proceso de trabajo, la capacidad del proceso de trabajo fallido para recibir la solicitud estará limitada hasta que haya procesado todas las solicitudes restantes almacenadas en la cola de solicitudes. Para drenar la solicitud actual, se puede dar un límite de configuración del proceso. Un proceso de trabajo de reemplazo para el mismo grupo de espacio de nombres se inicia antes de que el proceso de trabajo anterior se detenga, lo que evita la interrupción del servicio. El proceso anterior completa su solicitud pendiente y luego se cierra con gracia, o finaliza explícitamente el proceso si alcanza el límite de tiempo configurado, la cantidad de solicitudes, el calendario establecido o no se cierra después de alcanzar el límite de uso de memoria especificado. . De forma predeterminada, el grupo de aplicaciones se reclama cada 1740 minutos (29 horas).

W3SVC juzga si el grupo de aplicaciones se está ejecutando normalmente de acuerdo con las opciones en la página de Salud, que incluye: Hacer ping al proceso de trabajo cada vez que se especifique, el tiempo es en segundos, el valor predeterminado es 30 segundos; el límite de tiempo de inicio (trabajo El proceso debe comenzar dentro del tiempo especificado), el límite de tiempo se cierra (el proceso de trabajo debe cerrarse dentro del tiempo especificado), si se inicia la protección rápida contra fallas (si un cierto número de procesos de trabajadores falla dentro del período de tiempo especificado, la aplicación está deshabilitada) Piscina). Además, las aplicaciones ISAPI (incluidas ASP.NET y asp.dll) pueden declarar que ya no son adecuadas para proporcionar servicios y requieren reciclaje.

De forma predeterminada, cuando IIS 6.0 reclama un grupo, utiliza una técnica de reciclaje llamada reciclaje superpuesto. En este modo de reciclaje, el proceso de trabajo fallido seguirá ejecutándose y se creará un nuevo proceso de trabajo. IIS 6.0 pasa la nueva solicitud entrante al nuevo proceso de trabajo, pero no elimina el proceso de trabajo anterior hasta que el proceso de trabajo anterior haya procesado la solicitud en su cola o se haya producido un error de tiempo de espera. Durante este tiempo, la conexión TCP /IP no se perderá porque http.sys mantiene la conexión válida. Cuando se produce el error de tiempo de espera del proceso de trabajo fallido, la solicitud que se pasa al proceso de trabajo en la siguiente solicitud es una nueva solicitud, por lo que la información de la sesión originalmente guardada en el proceso se pierde. Todas estas operaciones de reciclaje son automatizadas, sin la intervención del administrador y, en la mayoría de los casos, no causan una interrupción significativa del servicio. Si es necesario, puede establecer el valor de la propiedad de datos de configuración LogEventOnRecycle en 1, lo que indica que W3SVC genera un registro de eventos cuando realiza una operación de reclamación.

Para las aplicaciones que no se pueden ejecutar en varias instancias, la técnica de reciclaje de reciclaje superpuesta puede causar problemas. Si encuentra estos problemas, puede establecer el valor de la propiedad de datos de configuración DissallowOverlappingRotation en True (1) para cerrar el fenómeno de "superposición" del proceso cuando se cierre una operación de reciclaje del grupo de aplicaciones. Además, para un proceso de trabajo fallido, a veces es posible que no queramos eliminarlo, aún conservamos el proceso para detectar y encontrar la causa raíz del problema, luego puede configurar la propiedad de datos de configuración OrphanActionExe con el nombre del archivo de ejecución, para que el proceso de trabajo se convierta en " El archivo de ejecución de huérfanos permanece en ejecución.

Otra característica relacionada con la agrupación de aplicaciones es que IIS 6.0 permite que la agrupación de aplicaciones se configure como un jardín web. Para comprender el concepto de jardín web, imagine un escenario en el que tenga un servidor IIS 5.0 y tres sitios web, cada uno ejecutando la misma aplicación, si IIS 5.0 puede solicitar automáticamente en un modo de bucle circular. Enviado secuencialmente a estos sitios web funcionalmente equivalentes y virtualmente separados, separando la carga en tres procesos diferentes, puede formar una pequeña granja de servidores web: este es el Jardín de la Web.

En el jardín web de IIS 6.0, no tenemos que crear sitios web adicionales, solo especifique el número de procesos de trabajo para un grupo de aplicaciones. Los pasos de configuración específicos son: abrir el cuadro de diálogo "Propiedades" del grupo de aplicaciones, ir a la página "Rendimiento", ingresar el número de procesos en el cuadro de entrada "Número máximo de procesos de trabajo" en "Jardín web", como se muestra en la Figura 8. Cuando la carga del servidor es pequeña y no se requieren procesos de trabajo adicionales, IIS 6.0 reduce automáticamente la cantidad real de procesos de trabajo después de un cierto tiempo (predeterminado 20 minutos, configurable); si la carga se hace más grande, se requieren procesos de trabajo adicionales, IIS 6.0 vuelve a aumentar el número de procesos de trabajo. Todo esto se hace automáticamente y no requiere la intervención del administrador. Figura VIII de

dos nuevos datos de configuración y atributos --SMPAffinitze SMPAffinitzeCPUMask-- permite procesos de trabajo configurados para asignar un procesador en particular a: propiedad SMPAffinitized establecido en true serán asignados para representar El proceso de trabajo específico del grupo de aplicaciones se asigna a una CPU específica. El atributo SMPProcessorAffinityMask se usa para configurar la máscara del procesador hexadecimal, que indica a qué proceso de trabajo del grupo de aplicaciones se debe enlazar. CPU.

Escribiendo aquí, la longitud del artículo parece haber sido demasiado larga. Este artículo presenta las nuevas características de IIS 6.0 desde la perspectiva de la arquitectura y trata de ser completo, al menos mejor que las introducciones que se suelen ver. La segunda parte del artículo cubrirá más de las nuevas características de IIS 6.0, y encontrará muchas características nuevas que siempre ha esperado.
El artículo anterior introdujo la instalación de IIS 6.0 y la nueva arquitectura del servidor web. La cantidad de nuevas características en IIS 6.0 es asombrosa, y algunas de ellas son tan convincentes que la mayoría de la gente llama la atención. En este segundo artículo sobre IIS 6.0, no solo comprenderemos estas características que se han convertido en "estrellas", sino que también nos centraremos en las diversas mejoras a las que IIS 6.0 presta menos atención, pero que son igualmente importantes.

Primero, seguridad

Microsoft ha hecho lo mismo una y otra vez: un producto de software ha fallado, se ha criticado a las personas, por lo que rápidamente lanza una nueva versión para resolver el problema . Por ejemplo, después del lanzamiento de Windows NT 4.0, fue criticado por problemas de estabilidad, por lo que Microsoft lanzó Windows 2000, la estabilidad del nuevo sistema operativo es bien recibida, pero la instalación predeterminada de IIS 5.0 en el servidor Win 2K se ha convertido en un gran riesgo para la seguridad. Se necesita mucho esfuerzo para rectificar el problema. IIS 6.0 no se instala de forma predeterminada. Si se instala de forma predeterminada, el servidor web solo puede proporcionar servicios de contenido estático. Por lo tanto, desde esta perspectiva, incluso si el motor de la aplicación IIS 6.0 y los componentes de repente tienen problemas, IIS 6.0 reduce en gran medida los riesgos de seguridad. Además, Windows Server 2003 también tiene una nueva política de grupo "Prohibir la instalación de IIS". Con esta política de grupo, podemos prohibir que Windows 2003 instale IIS en la máquina que no está lista para el servidor web en el bosque de Active Directory (AD). 6.0, para evitar el uso de servidores IIS 6.0 que son inútiles e inseguros en la red. Sin embargo, esta política de grupo actualmente solo es válida para servidores Windows 2003 y no puede evitar que las máquinas Windows XP Pro y Win 2K instalen IIS 5.0.

Por supuesto, dado que el IIS 6.0 recién instalado no admite contenido dinámico, hay una segunda pregunta que la gente suele preguntar: "¿Por qué mi servidor no puede ejecutar ASP?" (Anteriormente, primero La pregunta que la gente suele hacer es: "¿Se puede ejecutar IIS 6.0 en un servidor Win 2K?" La respuesta es "no"). Para ejecutar un programa en IIS 6.0, debe usar una nueva característica de IIS 6.0, la Extensión de servicio web o la Extensión de servicio web (este nombre parece implicar que tiene alguna relación con el servicio web XML, que no es el caso).

Si desea habilitar la extensión de servicio web para un programa, primero abra el Administrador de IIS (en "Panel de control" → "Herramientas administrativas". Anteriormente llamado Administrador de servicios de Internet o ISM), como se muestra en la Figura 1, haga clic en "Agregar una nueva extensión de servicio web" e inicie el asistente para crear una nueva regla. Asigne un nombre a la regla y encuentre el ejecutable que desea habilitar. Además, hay un script iisext.vbs en \\ system32 \\ inetsrv, que también configura y administra las extensiones de servicios web, las aplicaciones y los archivos individuales que ejecutan Windows Server 2003 con IIS 6.0. Los administradores pueden utilizar este script para habilitar y la lista de aplicaciones, añadir y quitar aplicaciones
En la Figura 1, tenga en cuenta que "todas las extensiones ISAPI desconocidas" y "Todas las extensiones CGI desconocidas" Ambas extensiones de servicio Web . De forma predeterminada, estas dos extensiones están deshabilitadas, lo que significa que a menos que una aplicación tenga permiso explícito para ejecutarse en IIS 6.0, no se ejecutará. Si un usuario solicita un archivo que no está habilitado, IIS 6.0 devolverá un error 404 al usuario: no se encontró el archivo o el directorio, y el "archivo o directorio 404.2 no se pudo encontrar en el registro W3SVC: la política de bloqueo prohíbe la solicitud". En IIS 6.0, 404.2 y otros códigos de subestado son una característica opcional del archivo de registro W3SVC para ayudar a solucionar problemas y solucionarlos (hay códigos de subestado en IIS 5.0 e IIS 4.0, pero no se registran en el archivo de registro. Pero puede convertirlos en una página de error personalizada para realizar un procesamiento especial basado en el código de estado secundario. El código de subestado de IIS 6.0 es útil, proporcionan información detallada que describe el problema, por ejemplo: 403.20, sin acceso: error de inicio de sesión de Passport; 403.18, sin acceso: no se puede ejecutar la URL solicitada en el grupo de aplicaciones actual; 404.3, archivo o No se pudo encontrar el directorio: la política de asignación MIME prohíbe la solicitud; 500.19, error del servidor: los datos de este archivo no están configurados correctamente en la base de datos de configuración. Todos estos y otros errores se asignan a una página de error personalizada que no envía el código de estado secundario al usuario, y el atacante no puede conocer el mensaje de error específico. Otra mejora de la seguridad es que IIS 6.0 permite la asignación de un Proveedor de servicios criptográficos (CSP) que integra un acelerador de Capa de sockets seguros (SSL) basado en hardware en IIS 6.0. La tarea de cifrado pasa de la CPU de propósito general del servidor a un dispositivo dedicado optimizado para operaciones criptográficas, lo que mejora el rendimiento y la confiabilidad.

Segundo, datos de configuración

En IIS 5.0 e IIS 4.0, la base de datos de configuración usa una estructura de archivos binarios, pero IIS 6.0 abandonó esta práctica. Los datos de configuración de IIS 6.0 constan de dos archivos XML: uno es Metabase.xml, que contiene la información de configuración del servidor IIS 6.0, y el otro es mbschema.xml, que contiene la definición de esquema de los datos de configuración. El Administrador de IIS proporciona una nueva función que le permite guardar una copia de los datos de configuración haciendo clic con el botón derecho en el sitio web y seleccionando "Todas las tareas" → "Guardar configuración en un archivo", luego especifique el nombre del archivo y la ruta para guardar la copia de los datos de configuración. Bien bien Al guardar los datos de configuración de esta manera, IIS 6.0 usa la Clave de la máquina del sistema para cifrar partes de los datos de configuración, por lo que una copia de los datos de configuración solo es útil para las máquinas que crean la copia.

Sin embargo, en el cuadro de diálogo "Guardar configuración en un archivo", podemos seleccionar la opción "Cifrar configuración con contraseña", luego especificar la contraseña y usar la contraseña para proteger el archivo de configuración exportado. Si se proporciona una contraseña, IIS 6.0 reemplazará el código de la máquina con una contraseña, y puede importar los datos de configuración a otro servidor proporcionando la misma contraseña en el futuro. Alternativamente, podemos usar el script de línea de comandos iisback.vbs (en systemroot \\ System32) para crear y administrar copias de respaldo de las configuraciones de IIS para computadoras remotas o locales. Los administradores pueden usar este script para crear copias de respaldo de sus configuraciones de IIS a partir de copias de respaldo. Restaure la configuración de IIS y haga una lista y elimine las copias de respaldo.

En ocasiones, solo necesitamos guardar la configuración de un grupo de aplicaciones, sitio web o directorio virtual en lugar de guardar toda la información de configuración. En este caso, puede seguir los pasos a continuación: Haga clic con el botón derecho en el objeto para mantener la información de configuración. , seleccione el menú "Todas las tareas" → "Guardar configuración en un archivo", como se muestra en la Figura 2, si está listo para importar datos de configuración a otro servidor, debe proporcionar la contraseña para el archivo cifrado

Copyright © Conocimiento de Windows All Rights Reserved