Puede encontrar la entrada de blog original 10 mejores cambios en IIS 7.0.
1. Configuración sencilla y ajustable desde la línea de comandos
Instale solo los componentes IIS necesarios para ejecutar el sitio
Ejemplo:
start /w pkgmgr /l:log.etw /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-HttpRedirect;IIS-ApplicationDevelopment;IIS-ASPNET;IIS-NetFxExtensibility;IIS-ASP;IIS-ISAPIExtensions;IIS-ISAPIFilter;IIS-ServerSideIncludes;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-LoggingLibraries;IIS-RequestMonitor;IIS-HttpTracing;IIS-Security;IIS-ClientCertificateMappingAuthentication;IIS-IISCertificateMappingAuthentication;IIS-RequestFiltering;IIS-IPSecurity;IIS-Performance;IIS-HttpCompressionStatic;IIS-HttpCompressionDynamic;IIS-WebServerManagementTools;IIS-ManagementConsole;IIS-ManagementScriptingTools;IIS-ManagementService;IIS-IIS6ManagementCompatibility;IIS-Metabase;IIS-WMICompatibility;IIS-LegacyScripts;IIS-LegacySnapIn;WAS-WindowsActivationService;WAS-ProcessModel;WAS-NetFxEnvironment;WAS-ConfigurationAPI
2. Gran trayectoria de compatibilida
La mayoría de las aplicaciones ASP y ASP.NET (+99 %) funcionaron.
- Una aplicación encontró un cambio importante
- Una serie de aplicaciones necesitaron migrar la configuración para ejecutarse en integrado
(Tenemos alrededor de 260 aplicaciones que se ejecutan en www.microsoft.com tal como se define en IIS. Hay miles de páginas de código que podrían haberse roto, pero no fue así.)
La canalización integrada es la nueva canalización de procesamiento de solicitudes unificada. Dicha integración aporta las siguientes ventajas:
- Permitir que los servicios proporcionados por módulos nativos y administrados se apliquen a todas las solicitudes, independientemente del controlador. Por ejemplo, la autenticación de formularios administrados se puede usar para todo el contenido, entre ellos, las páginas ASP, CGIs y archivos estáticos.
- Habilitar componentes ASP.NET para proporcionar funcionalidades que antes no estaban disponibles debido a su ubicación en la canalización del servidor. Por ejemplo, un módulo administrado que proporciona la funcionalidad de reescritura de solicitudes puede reescribir la solicitud antes de que cualquier procesamiento del servidor, incluida la autenticación, ocurra.
- Un único lugar para implementar, configurar, supervisar y admitir características del servidor. Por ejemplo, la configuración de asignación de un solo módulo y controlador, de errores personalizados únicos, de autorización de URL única.
El modo ASP clásico permite migrar aplicaciones de forma sencilla
- La configuración ASP.NET proporciona un "AppPool de .NET clásico"
- Para obtener más información, consulte el artículo Integración de ASP.Net con IIS 7.0
Uso de AppCmd para migrar aplicaciones al modo integrado
- %windir%\system32\inetsrv\APPCMD.EXE migrar configuración de la <ruta de acceso de la aplicación>`
- Para obtener más información sobre AppCmd.exe, consulte Introducción a AppCmd.exe
Capa de compatibilidad con la metabase de IIS 6.0
- Permite ejecutar scripts ADSI antiguos
- Se debe instalar el módulo de compatibilidad de Metabase de IIS 6.0
3. ¡No más metabase!
Limpia el esquema de texto no cifrado
La configuración de IIS se almacena en el archivo de configuración XML (applicationHost.config)
- La metabase existe solo para SMTP, NNTP y FTP
Facilidad para hacer cambios globales
- Actualiza el archivo applicationHost.config principal y lo copia en todos los servidores web
- Reemplaza nuestra compleja solución de script basada en ADSI para los cambios de metabase
Consideraciones de Microsoft.com
- Tenga cuidado de copiar en servidores de producción en carga. (Al insertar un nuevo archivo applicationHost.config, los grupos de aplicaciones y las aplicaciones se reciclarán. Si depende en gran parte del almacenamiento en caché, podría causar problemas en el entorno mientras que CLR se vuelve a cargar.)
4. Configuración centralizada
- applicationHost.config se almacena en un recurso compartido de UNC
- Le permite copiar en dos servidores (quizás cuatro) en lugar de 80
Posible problema: administrar los cambios de contraseña de la cuenta usada para conectarse al almacén de configuración. (Se debe a que por ahora no se puede usar el recurso compartido de UNC que se ejecuta en el servicio de red, que usamos en gran medida. Actualmente necesita una cuenta de dominio, para la cual nuestra directiva de seguridad exige un cambio periódico de contraseña)
5. Configuración delegada
Ahora, el administrador puede delegar las configuraciones de IIS al propietario de la aplicación
Las configuraciones se definen en el archivo web.config del directorio de la aplicación
El ejemplo de configuración que se va a delegar incluye:
- La sección System.webServer de applicationHost.config
- Almacenamiento en caché, defaultDocument, httpErrors y seguridad
Para obtener más información, consulte Configuración delegada.
6. AppCmd y otras nuevas opciones de administración
Administración a través de la interfaz de usuario
- Nueva apariencia modular basada en tareas
- Se aleja del paradigma de clic o propiedades con el botón derecho
Administración desde la línea de comandos
- AppCmd
Utilidad de línea de comandos que reemplaza adsutil.vbs, iisapp.vbs y otros
Permite administrar sitios, aplicaciones, vdirs, grupos de aplicaciones, módulos, seguimiento, PowerShell y demás desde la línea de comandos
La comunidad de IIS crea cmdlets de PowerShell específicos para IIS
Consideraciones sobre MSCOM
- Limitaciones de AppCmd: no es remoto
- No hay proveedor de IIS para PowerShell
7. Seguimiento de solicitudes erróneas
Almacena en búfer los eventos de seguimiento de las solicitudes y los vacía en el disco si cumplen los criterios de error
Captura los datos de seguimiento mientras duerme
Impacto mínimo en el rendimiento al tratar solicitudes erróneas
Prueba rápida: habilitar el seguimiento de todas las extensiones de archivo y errores da como resultado aproximadamente un 5 % menos de solicitudes/segundo en carga de esfuerzo completa (no realizar en producción).
Vea las solicitudes que se están ejecutando en el momento con AppCmd
- Solicitudes de lista appcmd (para todas las solicitudes)
- Solicitudes de lista appcmd /apppool.name:DefaultAppPool
Nuevo programador de tareas
- Desencadena tareas en eventos
Para obtener más información, consulte Seguimiento de solicitudes erróneas.
8. Filtro de solicitudes
No más URLScan
Configuración de </requestFiltering> en applicationHost.config
Problema para Microsoft.com: si el nombre de archivo incluye "+", allowDoubleEscaping debe establecerse en "true"
- <requestFiltering allowDoubleEscaping="true">
Permite o no extensiones de archivo y elementos de menú contextual específicos
- <add fileExtension=".exe" allowed="false" />
DenyURLSequences
- <add sequence="./" />
- <add sequence="/." />
RequestLimits
- maxAllowedContentLength="1000000"
- maxUrl="260"
- maxQueryString="2048"
9. Contenido UNC
Sincronización de contenido simplificada
Superficie de H/W reducida (posible reducción de costes)
- Punto de dolor habitual del sector
10. Almacenamiento en caché de salida del contenido dinámico
- Menos llamadas integradas a las dependencias de back-end
- Aumentos significativos del rendimiento
- Se puede hacer una sencilla prueba de esfuerzo de WCAT (Herramienta de análisis de capacidad web) en www.microsoft.com/en/us/default.aspx
No es adecuado para todas las aplicaciones (por ejemplo, no es eficaz para aquellas con salida muy personalizada)