Windows Server 2025 / Configurar enlaces y grupos de aplicaciones de IIS para dos sitios

Un enlace de IIS selecciona el sitio mediante protocolo, dirección IP, puerto y nombre de host. El grupo de aplicaciones organiza la ejecución y la identidad de sus aplicaciones; para recibir la página correcta deben coincidir DNS, enlace, carpeta y grupo.

Distinguir las cuatro capas de configuración

Capa Función Ejemplo de laboratorio
DNS Resolver el nombre a una IP. web.lab.example.test → 172.24.50.30
Enlace de IIS Seleccionar el sitio para la solicitud. http / 172.24.50.30 / 8080 / web.lab.example.test
Ruta física Localizar el contenido. C:\Sites\LabSite
Grupo de aplicaciones Organizar proceso de ejecución e identidad. LabSitePool

Un registro DNS traduce el nombre a una dirección, pero no crea un enlace de IIS, y configurar el enlace tampoco registra el nombre en DNS. La referencia de enlaces de IIS explica protocolo e información de IP, puerto y host. Revise combinaciones existentes en todos los sitios del servidor antes de añadir o editar; no basta con que los nombres visibles de los sitios sean distintos.

Empiece con LabSite funcionando en WEB1 a través de 172.24.50.30:8080, con su carpeta y LabSitePool. Use el mismo cliente autorizado y la regla de laboratorio ya limitada a TCP 8080. En WEB1 registre enlaces completos, ruta, grupo y estado actuales antes de cambiarlos; trabaje como administrador. En DC1 use permisos autorizados de administración DNS. Se añadirán web.lab.example.test y status.lab.example.test solo al laboratorio, sin cambiar DNS público ni un sitio de producción. Si StatusSite, su carpeta, su pool o los registros ya existen, identifique su propósito y deténgase antes de reemplazarlos.

Añadir y verificar los nombres DNS

  1. En DC1 abra DNS Manager → Zonas de búsqueda directa → lab.example.test. Confirme que es la zona de práctica existente en ese servidor, no ad.example.test.
  2. Revise primero si web existe como A, alias u otro registro. Si está libre, cree Nuevo host (A) con nombre web y dirección 172.24.50.30. No sobrescriba otro valor; un PTR no es requisito para este acceso HTTP.
  3. Repita la comprobación y cree status con la misma dirección. Registre ambos nombres y valores como objetos propios de esta prueba.
  4. Confirme que CLIENT1 usa DC1, 172.24.50.10, para el DNS interno. El servidor DNS consultado expresamente por PowerShell y el configurado para el navegador pueden no ser el mismo.
  5. Desde CLIENT1 consulte los dos nombres y compruebe los registros de dirección devueltos. Ante error o dirección distinta, resuelva DNS antes de modificar enlaces para compensarlo.
Resolve-DnsName web.lab.example.test -Server 172.24.50.10
Resolve-DnsName status.lab.example.test -Server 172.24.50.10

La opción Server de Resolve-DnsName indica el DNS que se consulta. Para ambos nombres se espera una respuesta A de 172.24.50.30; los comandos sin Type consultan por defecto A y AAAA, por lo que no debe inventarse una respuesta IPv6 en un laboratorio solo IPv4. Esta consulta explícita no acredita que el navegador utilice DC1: compruebe también la configuración del cliente y su resolución habitual antes de probar HTTP.

lab.example.test es la zona de práctica DNS del curso, separada del dominio de Active Directory ad.example.test. Una zona basada en archivo no se replica automáticamente a DC2 por el hecho de que el servidor sea controlador de dominio. Si falta, compruebe DC1 y la configuración prevista antes de crear registros; no los añada en la zona AD por semejanza del nombre ni convierta el almacenamiento de la zona para continuar.

Cambiar el enlace del primer sitio a su nombre

  1. En IIS Manager → LabSite → Enlaces seleccione exactamente http / 172.24.50.30 / 8080 con nombre de host vacío. Anote sus valores antes de editar.
  2. Cambie únicamente el nombre de host a web.lab.example.test y confirme. Mantenga IP, puerto, tipo, ruta y grupo del sitio.
  3. Inspeccione los enlaces después del cambio y confirme que no quedó otro enlace con la misma combinación. No añada además una copia innecesaria con nombre vacío.
  4. En CLIENT1 abra http://web.lab.example.test:8080/. Se espera la misma página de LabSite del ejercicio previo; verifique URL y contenido, no solo que exista una respuesta.

El encabezado Host de una solicitud HTTP indica el nombre solicitado, no autentica al usuario. Conocer web.lab.example.test no acredita una identidad ni concede permisos adicionales. Después de sustituir el nombre vacío, una solicitud directa a la IP puede dejar de seleccionar LabSite o recibir otra respuesta si existe otro enlace coincidente. Pruebe cada sitio con su nombre y puerto previstos.

Si falla, verifique primero que el nombre resuelve a 172.24.50.30 y compare protocolo, puerto 8080 y nombre solicitado con el enlace real. Si aparece la página equivocada, inspeccione también enlaces sin nombre y el contenido de la carpeta seleccionada. Con DNS correcto, aún pueden fallar ruta de red, firewall, permisos, autenticación o pool. No sustituya el DNS interno por uno público ni desactive ampliamente el firewall.

Crear un segundo sitio con identidad propia

  1. Cree C:\Sites\StatusSite solo si no existe. Use allí un index.html UTF-8 independiente: puede copiar el documento completo de LabSite del ejercicio previo y cambiar en esta copia el texto de title y h1 a StatusSite y el párrafo a This page is served by StatusSite on WEB1. Mantenga la estructura HTML y no edite el archivo de LabSite. Confirme la extensión real.
  2. Cree StatusSitePool si su nombre está libre, con No Managed Code y la identidad ApplicationPoolIdentity. No reutilice LabSitePool por comodidad.
  3. En Propiedades → Seguridad de la nueva carpeta, seleccione WEB1 como ubicación y agregue IIS AppPool\StatusSitePool. Conceda Lectura y ejecución, Mostrar contenido y Lectura a carpeta y archivo, conservando SYSTEM y administrador; no conceda escritura ni Control total al proceso web.
  4. En Sitios → Agregar sitio web cree StatusSite con C:\Sites\StatusSite y StatusSitePool seleccionados. Confirme los tres valores antes de continuar.
  5. Use enlace http / 172.24.50.30 / 8080 / status.lab.example.test. No copie web.lab.example.test ni cambie a un puerto que invalide la comparación.
  6. En StatusSite habilite Autenticación anónima y seleccione Identidad del grupo de aplicaciones. Verifique Documento predeterminado habilitado con index.html y que el pool y el sitio puedan iniciarse.
  7. Desde CLIENT1 abra http://web.lab.example.test:8080/ y http://status.lab.example.test:8080/. Deben mostrar mensajes distintos de LabSite y StatusSite. Si ambos muestran lo mismo, revise enlace, ruta y archivo antes de probar la detención.

Los dos sitios comparten IP y puerto porque el nombre de host permite distinguir las solicitudes de esta práctica HTTP. No duplique la combinación completa ni deje por accidente el mismo nombre en dos sitios. Revise qué solicitudes puede recibir cualquier enlace sin nombre restante; no quite un enlace ajeno sin identificar su uso. Esta separación de nombres no sustituye autenticación ni prepara automáticamente certificados HTTPS.

Los pools separados permiten administrar por separado identidad, detención y reciclado. Comparten sistema operativo, kernel, almacenamiento y recursos del host, de modo que no ofrecen el mismo aislamiento que máquinas virtuales independientes ni garantizan que una sobrecarga quede contenida. Aplique permisos mínimos por identidad siguiendo la guía de identidades de grupos de aplicaciones; no conceda a StatusSitePool acceso innecesario al contenido del otro sitio.

Comparar detención y reciclado del pool

  1. Registre respuestas correctas de ambos sitios, URLs, hora, sus grupos asignados y estado de ambos pools. Sin esta referencia, un fallo previo no demuestra el efecto de detener uno.
  2. En IIS Manager → Grupos de aplicaciones seleccione solo StatusSitePool y elija Detener. Compruebe de nuevo el nombre antes de la acción; no detenga LabSitePool ni la función IIS completa.
  3. Envíe solicitudes nuevas a ambos nombres desde CLIENT1, evitando que una página ya almacenada en el navegador parezca una respuesta nueva. Revise el estado HTTP en el panel de red y los registros; anote por separado StatusSite y LabSite.
  4. Seleccione StatusSitePool → Iniciar y confirme su recuperación con una solicitud nueva. Compruebe también LabSite antes de dar por terminada la prueba.

Con StatusSitePool detenido, su sitio puede devolver HTTP 503 mientras se espera que LabSite siga atendiendo correctamente mediante su pool distinto. Compruebe ambas respuestas en lugar de considerar cualquier error como prueba suficiente de aislamiento. Si ambos fallan, confirme asignación de pools, estado de sitios y recursos compartidos. Distinga la acción Detener de un sitio de Detener un pool; no use iisreset ni reinicie el servidor para esta comparación.

El reciclado de un pool reemplaza su proceso de trabajo y puede afectar sesiones en memoria o tareas activas. IIS admite condiciones de reciclado y configuración de superposición; observar una página estática no garantiza continuidad de una aplicación. Si compara manualmente Reciclar, hágalo solo en StatusSitePool con ambos sitios ya recuperados, registre estado y solicitudes antes y después, y confirme ambas páginas al terminar; no cambie umbrales ni programación para provocar fallos. Para limpiar, quite únicamente StatusSite y, tras comprobar que no lo usa otra aplicación, StatusSitePool, además de sus archivos prescindibles y el registro status que haya creado. Conserve LabSite y su enlace web para el ejercicio HTTPS si va a continuarlo. Si termina aquí, restaure el enlace original anotado y retire solo sus registros nuevos después de comprobar dependencias; no elimine la zona ni registros del dominio.