Arquitectura e implementación de colecciones de sitios con nombre de host en SharePoint Server
SE APLICA A:2013 2016 2019 Subscription Edition SharePoint en Microsoft 365
Las colecciones de sitios con nombre de host son un enfoque opcional para implementar sitios en SharePoint Server. Los usuarios que deseen tener varias colecciones de sitios, con cada colección de sitios con su propio nombre DNS, pueden optar por implementar colecciones de sitios con nombre de host. De lo contrario, los usuarios deben implementar colecciones de sitios basadas en rutas de acceso.
Aprenda cómo planear e implementar colecciones de sitios con nombres de host, y a diseñar y administrar direcciones URL.
Arquitectura y diseño para colecciones de sitios con nombres de host
Las colecciones de sitios con nombres de host permiten asignar un nombre DNS único a las colecciones de sitios. Por ejemplo, se pueden denominar http://TeamA.contoso.com
y http://TeamB.contoso.com
. En este ejemplo se muestra que va a implementar muchos sitios con nombres DNS únicos en la misma aplicación web. También permite a los proveedores de servicios de hosting escalar un entorno para varios clientes.
Este artículo describe cómo implementar colecciones de sitios con nombres de host en una configuración recomendada con SharePoint Server. La información sobre las configuraciones avanzadas se incluye al final de este artículo: Uso de múltiples aplicaciones web con colecciones de sitios con nombres de host.
Arquitectura recomendada para colecciones de sitios con nombres de host
La configuración recomendada para implementar colecciones de sitios con nombre de host es colocar todas las colecciones de sitios con nombre de host en una sola aplicación web, como se muestra en el diagrama siguiente.
Configuración recomendada para colecciones de sitios con nombres de host
Esta configuración recomendada en el diagrama incluye los siguientes elementos:
Un grupo de aplicaciones para colecciones de sitios.
Una aplicación web para colecciones de sitios que se hospeda dentro de un grupo de aplicaciones.
Colección de sitios raíz (
http://webapp.contoso.com
).Múltiples colecciones de sitios con nombres de host para hospedar contenido con sitios de ejemplo:
Contenido de intranet publicado (
http://intranet.contoso.com
) con subsitios para recursos humanos, instalaciones y compras.Sitios de grupo (
http://teams.contoso.com
) con subsitios para Team 1, Team 2 y Team 3.Mis sitios con direcciones URL de sitio en el formato siguiente:
http://my.contoso.com/personal/<site_name>
.
El número de sitios dentro de la aplicación web y las direcciones URL de los sitios no son importantes para este ejemplo.
Al crear una aplicación web para colecciones de sitios con nombre de host, la dirección URL de la aplicación web y la colección de sitios raíz serán http://<_webapp.contoso.com_>/
.
Se recomienda implementar colecciones de sitios con nombre de host porque es la misma arquitectura que usa el entorno de Microsoft 365. Por lo tanto, esta configuración es la más probada. Las nuevas características, como el modelo de aplicaciones y la administración de solicitudes, están optimizadas para esta configuración y es la configuración más confiable en el futuro.
La configuración recomendada no incluye los siguientes elementos:
Habilitación de aplicaciones en entornos con múltiples zonas
Mezcla de colecciones de sitios con nombre de host y colecciones de sitios basadas en rutas de acceso (con la excepción de colecciones de sitios raíz).
Múltiples aplicaciones web con colecciones de sitios con nombres de host
Colecciones de sitios con nombre de host en comparación con las colecciones de sitios basadas en rutas de acceso
Al usar colecciones de sitios con nombres de host, se asigna un nombre DNS único a cada colección de sitios de una aplicación web. Al implementar muchas colecciones de sitios con nombre de host en una sola aplicación web, aumenta la escalabilidad de la granja de servidores porque los recursos no se usan para admitir varios grupos de aplicaciones y aplicaciones web.
SharePoint Server admite colecciones de sitios basadas en rutas de acceso y colecciones de sitios con nombres de host. En la tabla siguiente se indican las diferencias entre ambas opciones y se proporciona más información sobre las colecciones de sitios con nombres de host.
Tabla: Comparación de colecciones de sitios con nombre de host y colecciones de sitios basadas en rutas de acceso
Colecciones de sitios con nombre de host | Colecciones de sitios basadas en rutas de acceso | |
---|---|---|
Creación de sitios | Se puede usar PowerShell de Microsoft para crear colecciones de sitios con nombre de host. No puede usar Administración central para crear colecciones de sitios con nombre de host. | Se puede usar Administración central o PowerShell para crear colecciones de sitios basadas en la ruta de acceso. |
Direcciones URL | Cada colección de sitios con nombres de host de una aplicación web tiene asignado un nombre DNS único. Se pueden usar zonas para asignar hasta cinco direcciones URL a sitios con nombre de host, incluidas direcciones URL mnemónicas. |
Todas las colecciones de sitios basadas en la ruta de acceso de una aplicación web comparten el mismo nombre de host (nombre DNS) que la aplicación web. Se puede expandir una aplicación web para implementar hasta cinco zonas y crear diferentes nombres de host para cada zona. Sin embargo, el nombre de host de una zona se aplica a todas las colecciones de sitios de la aplicación web. |
Colección de sitios raíz y búsqueda | Se requiere una colección de sitios raíz para rastrear el contenido en una aplicación web. Una colección de sitios raíz puede ser una colección de sitios a la que los usuarios no pueden acceder. | Normalmente, una única colección de sitios basada en rutas de acceso sirve como colección de sitios raíz dentro de una aplicación web. Puede usar rutas de acceso administradas para crear más colecciones de sitios dentro de la aplicación web. |
Asignación de URL | Use comandos de PowerShell para administrar direcciones URL (Set-SPSiteUrl , Remove-SPSiteUrl , Get-SPSiteUrl ). |
Use las asignaciones alternativas de acceso para administrar direcciones URL. |
Creación de sitios sin intervención del administrador | Se debe usar una solución personalizada para la creación de sitios sin intervención del administrador con colecciones de sitios con nombres de host. La característica creación de sitios de autoservicio que forma parte de la instalación predeterminada de SharePoint Server no funciona con colecciones de sitios con nombre de host. |
Cuando se utiliza la característica de creación de sitios sin intervención del administrador que forma parte de la instalación predeterminada de SharePoint Server, se crean sitios basados en la ruta de acceso. |
Rutas de acceso administradas | Las rutas de acceso administradas para colecciones de sitios con nombre de host se aplican en el nivel de la granja de servidores y están disponibles para todas las aplicaciones web. Se debe usar PowerShell para crear rutas de acceso administradas para colecciones de sitios con nombre de host. |
Las rutas de acceso administradas para colecciones de sitios basadas en la ruta de acceso se aplican en el nivel de la aplicación web. Se puede usar Administración central o PowerShell de Microsoft para crear rutas de acceso administradas para colecciones de sitios basadas en la ruta de acceso. |
Diseño y administración de direcciones URL para colecciones de sitios con nombres de host
Los cmdlets de PowerShell se ocupan de las asignaciones de URL para las colecciones de sitios con nombre de host y permiten asignar direcciones URL a una colección de sitios única:
Set-SPSiteUrl
: agregue o cambie una asignación de direcciones URL para un sitio.Remove-SPSiteUrl
: se quita una asignación de direcciones URL de un sitio.Get-SPSiteUrl
: consulte todas las direcciones URL y zonas asociadas para una colección de sitios.
Estos cmdlets proporcionan la funcionalidad de asignación de URL para las colecciones de sitios con nombre de host que es similar a la asignación de acceso alternativo.
Zonas y colecciones de sitios con nombre de host.
Las colecciones de sitios con nombre de host están disponibles a través de cualquier zona. Las colecciones de sitios con nombre de host no se limitan a la zona predeterminada. En caso necesario, se pueden implementar varias zonas y utilizar las zonas y las colecciones de sitios con nombre de host para configurar las distintas opciones o directivas de autenticación.
Nota:
Para usar distintas zonas, debe ampliar la aplicación web existente a las nuevas zonas.
Puede asignar hasta cinco direcciones URL a una colección de sitios con nombre de host, una por zona. Incluso si se sigue la arquitectura recomendada mediante la implementación de una sola zona, aún se puede asignar hasta cinco direcciones URL a las colecciones de sitios con nombre de host. Este aprovisionamiento se debe a que si una zona no se implementa mediante la extensión de la aplicación web, SharePoint Server usa la zona predeterminada.
Por ejemplo, las siguientes direcciones URL podrían proporcionar acceso al mismo sitio de Internet:
La cuenta de rastreo de búsqueda requiere acceso al contenido a través de la zona predeterminada mediante el uso de la autenticación de Windows integrada (NTLM o Kerberos). Dado que la autenticación de notificaciones permite varios tipos de autenticación en una zona, este requisito no debe afectar a otros requisitos de autenticación.
Rutas de acceso administradas y colecciones de sitios con nombre de host.
Las direcciones URL que se configuran para la misma colección de sitios puede tener diferentes esquemas y dominios, pero deben tener las mismas rutas administradas, es decir, todo el texto tras "/" después del dominio debe ser el mismo. Por ejemplo, http://www.Contoso.com/sites/Site1
y http://www.Fabrikam.com/sites/Site1
ambos pueden apuntar a la misma colección de sitios, pero http://www.Contoso.com/sites/Site1
y http://www.bar.com/sites/Project1
no pueden.
Los cmdlets que administran las direcciones URL solo funcionan en la colección de sitios raíz para un nombre de host, por ejemplo, http://www.Contoso.com
. Estos cmdlets no funcionan en una colección de sitios de ruta de acceso administrada que se encuentra debajo de la raíz, como http://www.Contoso.com/sites/Project1
. Los sitios debajo de la raíz de una colección de sitios con nombre de host heredarán la configuración de direcciones URL de la colección de sitios con nombre de host raíz.
Terminación SSL externa con colecciones de sitios con nombre de host
La terminación SSL externa se produce cuando un servidor proxy finaliza una solicitud de SSL y la reenvía a un servidor web mediante HTTP. Para lograr terminación SSL externa con colecciones de sitios con nombre de host, el dispositivo que termina la conexión SSL, como un servidor proxy inverso, debe ser capaz de generar un encabezado HTTP personalizado: Front-End-Https: On. Para obtener más información, consulte Uso de colecciones de sitios con nombre de host con terminación SSL no boxeada.
Se admite la terminación sin cifrar de SSL, pero no se recomienda porque da lugar a que el tráfico no cifrado se envíe desde el servidor proxy al servidor web.
El protocolo usado para una colección de sitios con nombre de host depende del valor del parámetro URL que especificó cuando usó el Set-SPSiteUrl
cmdlet para asignar la dirección URL a una zona determinada: http o https. Compruebe que los enlaces IIS para la aplicación web, los certificados SSL, la configuración de proxy inverso y cualquier otra configuración necesaria se hayan realizada por completo.
Cuándo se deben usar colecciones de sitios basadas en la ruta de acceso
Use las colecciones de sitios tradicionales basadas en rutas de acceso y la asignación de acceso alternativa si se aplica alguna de las condiciones siguientes:
Debe utilizar la característica de creación de sitios sin intervención del administrador que forma parte de la instalación predeterminada de SharePoint Server.
Esta condición no se aplica a las soluciones personalizadas de creación de sitios de autoservicio.
La terminación SSL es necesaria, pero el dispositivo de terminación SSL no se puede configurar para generar el encabezado HTTP personalizado necesario.
Todavía puede usar el puente SSL con colecciones de sitios con nombre de host con estos dispositivos si la terminación SSL no es un requisito.
Tiene previsto usar grupos de aplicaciones diferentes para la seguridad adicional que proporcionan estos grupos o debe usar varios grupos de proxy.
En estos casos, se pueden usar colecciones de sitios con nombre de host. Sin embargo, la configuración adicional necesaria para asignar direcciones URL para colecciones de sitios con nombre de host en varias aplicaciones web supera en gran medida las ventajas de usar colecciones de sitios con nombre de host. Para más información, vea Uso de múltiples aplicaciones web con colecciones de sitios con nombres de host. Para más información sobre la creación de colecciones de sitios basadas en la ruta de acceso, vea Crear una colección de sitios en SharePoint Server.
Usar encabezados de host y colecciones de sitios con nombres de host
Los encabezados de host permiten que el servidor web hospede varios sitios web en la misma combinación de dirección IP y puerto. Si la solicitud HTTP entrante incluye un nombre de encabezado de host y se configura un encabezado de host coincidente en IIS, IIS responderá con el contenido del sitio web adecuado.
Los encabezados de host se configuran en el nivel de aplicación web (sitio web de IIS), son una de las propiedades de enlaces del sitio web.
Es importante comprender la distinción entre los encabezados host de IIS y las colecciones de sitios con nombre de host. Los encabezados de host en el nivel de sitio web de IIS solo están diseñados para colecciones de sitios basadas en rutas de acceso.
Cuando se usan colecciones de sitios con nombre de host, SharePoint es responsable de resolver el sitio correcto para la dirección en función de la solicitud entrante pasada a través de IIS. En la mayoría de los casos, la aplicación de un enlace de encabezado de host en el nivel de sitio web de IIS hace que sea imposible acceder a colecciones de sitios con nombre de host a través del sitio web de IIS. Esta inaccesibilidad se debe a que IIS no responderá a las solicitudes de nombres de host que difieren del enlace del encabezado de host.
Puede usar un enlace de encabezado de host comodín en IIS, pero debe asegurarse de que todas las colecciones de sitios dentro de la aplicación web se ajustan al patrón de encabezado de host comodín.
Importante
Si una aplicación web existente tiene un conjunto de enlace de encabezado de host, IIS no devolverá páginas de la colección de sitios con nombre de host hasta que quite el enlace de IIS. Para obtener más información, vea Actualización de los enlaces de IIS y la dirección URL de una aplicación web en SharePoint Server.
Mezclar colecciones de sitios con nombre de host y colecciones de sitios basadas en rutas de acceso en la misma aplicación web
Se pueden usar colecciones de sitios con nombre de host y colecciones de sitios basadas en rutas de acceso en la misma aplicación web. Para asegurarse de que ambos tipos de colecciones de sitios sean accesibles para los usuarios, no coloque enlaces de encabezado de host en el sitio web de IIS de la aplicación web, incluidos los sitios web de IIS para zonas extendidas desde la aplicación web. Si una aplicación web existente tiene un conjunto de enlace de encabezado de host, IIS no devolverá páginas de la colección de sitios con nombre de host hasta que quite el enlace de IIS.
Mis sitios
Si usa ambos tipos de colecciones de sitios con Mis sitios, considere implementar su propio proceso de aprovisionamiento para crear Mis sitios como sitios con nombre de host, en lugar de como sitios basados en la ruta de acceso.
Implementación y configuración de colecciones de sitios con nombres de host
Creación de una aplicación web para colecciones de sitios con nombres de host
Si no tiene previsto configurar dos o más sitios web de IIS que comparten el mismo número de puerto en el mismo servidor, cree una aplicación web en la zona Predeterminada. No aplique un enlace de encabezado de host en el nivel de sitio web de IIS.
Para crear una aplicación web para colecciones de sitios con nombres de host
Compruebe que cumple con las pertenencias siguientes:
El rol de servidor fijo securityadmin en la instancia de SQL Server.
El rol fijo de base de datos db_owner en todas las bases de datos que se van a actualizar.
El grupo Administradores en el servidor en el que se ejecuta el cmdlet de Microsoft PowerShell.
Un administrador puede usar el
Add-SPShellAdmin
cmdlet para conceder permisos para usar cmdlets de SharePoint Server.Nota:
Si no tiene permisos, póngase en contacto con el administrador del programa de instalación o con el administrador de SQL Server para solicitar permisos. Para obtener más información sobre los permisos de PowerShell, consulte Add-SPShellAdmin.
Abra el Shell de administración de SharePoint.
En el símbolo del sistema de PowerShell (es decir, PS C:\>), escriba la sintaxis siguiente:
New-SPWebApplication -Name 'Contoso Sites' -port 80 -ApplicationPool ContosoAppPool -ApplicationPoolAccount (Get-SPManagedAccount 'Contoso\JDoe') -AuthenticationProvider (New-SPAuthenticationProvider -UseWindowsIntegratedAuthentication)
Creación de una colección de sitios raíz
Una colección de sitios raíz es un requisito para cualquier aplicación web. También es necesario para rastrear contenido. Esta colección de sitios debe tener la misma dirección URL que la aplicación web. Actualmente, SharePoint impide la creación de una colección de sitios con nombre de host con la misma dirección URL que una aplicación web. Por lo tanto, la colección de sitios raíz se crea como una colección de sitios basada en rutas de acceso.
En el ejemplo siguiente se crea una colección de sitios vacía que es la colección de sitios raíz:
New-SPSite 'http://<servername>' -Name 'Portal' -Description 'Portal on root' -OwnerAlias 'contoso\administrator' -language 1033 -Template 'STS#0'
Solo la colección de sitios raíz de la aplicación web aparece en el origen de contenido. Aunque todas las demás colecciones de sitios con nombre de host de la aplicación web no aparecen en el origen de contenido, la búsqueda predeterminada rastrea automáticamente las demás colecciones de sitios con nombre de host.
Creación de colecciones de sitios con nombre de host
Debe usar PowerShell de Microsoft para crear una colección de sitios con nombre de host. No puede usar la aplicación web de Administración central de SharePoint Server para crear una colección de sitios con nombre de host, pero puede usar Administración central para administrar la colección de sitios después de crearla.
Puede crear una colección de sitios con nombre de host mediante el cmdlet de Microsoft PowerShell New-SPSite
con el parámetro -HostHeaderWebApplication
, como se muestra en el ejemplo siguiente:
Para crear colecciones de sitios con nombre de host:
Compruebe que cumple con las pertenencias siguientes:
El rol de servidor fijo securityadmin en la instancia de SQL Server.
El rol fijo de base de datos db_owner en todas las bases de datos que se van a actualizar.
El grupo Administradores en el servidor en el que se ejecuta el cmdlet de Microsoft PowerShell.
Un administrador puede usar el
Add-SPShellAdmin
cmdlet para conceder permisos para usar cmdlets de SharePoint Server.Nota:
Si no tiene permisos, póngase en contacto con el administrador del programa de instalación o con el administrador de SQL Server para solicitar permisos. Para obtener más información sobre los permisos de PowerShell, consulte Add-SPShellAdmin.
Abra el Shell de administración de SharePoint.
En el símbolo del sistema de PowerShell (es decir, PS C:\>), escriba la sintaxis siguiente:
New-SPSite 'http://portal.contoso.com' -HostHeaderWebApplication (Get-SPWebApplication 'Contoso Sites') -Name 'Portal' -Description 'Customer root' -OwnerAlias 'contoso\administrator' -language 1033 -Template 'STS#0'
Esta sintaxis crea una colección de sitios con nombre de host que tiene la dirección URL, https://portal.contoso.com en la aplicación web de SharePoint Server denominada "Sitios de Contoso".
Uso de rutas de acceso administradas para colecciones de sitios con nombres de host
Se pueden implementar rutas de acceso administradas para colecciones de sitios con nombres de host. Los proveedores de servicios de hosting pueden proporcionar varias colecciones de sitios al mismo cliente, en que cada colección comparta el nombre de host único del cliente pero se diferencia por la ruta de acceso de la URL después del nombre de host. Las rutas de acceso administradas para colecciones de sitios con nombre de host están limitadas a 20 por granja de servidores. Para obtener más información, vea Límites y límites de software para SharePoint Server.
Las rutas de acceso administradas para colecciones de sitios con nombre de host se comportan diferente que las rutas de acceso administradas para colecciones de sitios basadas en las rutas de acceso. Las rutas de acceso administradas para colecciones de sitios con nombre de host están disponibles para todas las colecciones de sitios con nombre de host de la granja de servidores, independientemente de la aplicación web en la que se encuentre la colección de sitios con nombre de host. En cambio, las rutas de acceso administradas para las colecciones de sitios basadas en rutas de acceso solo se aplican a los sitios dentro de la misma aplicación web. Las rutas de acceso administradas para colecciones de sitios basadas en rutas de acceso no se aplican a las colecciones de sitios basadas en rutas de acceso en otras aplicaciones web. Las rutas de acceso administradas para un tipo de colección de sitios no se aplican al otro tipo de colección de sitios.
Para crear una ruta de acceso administrada, primero debe crear una colección de sitios con la dirección URL base que desee. Por ejemplo, para crear http://teams.contoso.com/finance
primero debe crear la colección de sitios para http://teams.contoso.com
.
Para crear una ruta de acceso administrada para ser utilizada con colecciones de sitios con nombre de host, utilice el cmdlet PowerShell New-SPManagedPath con el parámetro HostHeader, como se muestra en el ejemplo siguiente:
New-SPManagedPath 'departments' -HostHeader
También se puede utilizar el parámetro Explicit para crear rutas de acceso administradas explícitas.
En el ejemplo siguiente se muestra una colección de sitios con nombre de host creada en una ruta de acceso administrada:
New-SPSite 'http://portal.contoso.com/departments/marketing' -HostHeaderWebApplication (Get-SPWebApplication 'Contoso Sites') -Name 'Marketing' -Description 'Portal Marketing' -OwnerAlias 'contoso\administrator' -language 1033 -Template 'STS#0'
Para quitar una ruta de acceso administrada existente, utilice el cmdlet PowerShell Remove -SPManagedPath, como se muestra en el ejemplo siguiente:
Remove-SPManagedPath 'departments' -HostHeader
Se puede usar PowerShell para quitar una ruta de acceso administrada incluso si existe una colección de sitios. Si se quita una ruta de acceso administrada, se pierde el acceso a la colección de sitios. Para obtener acceso a la colección de sitios existente, use PowerShell para recrear la ruta de acceso administrada.
Asignación de direcciones URL a colecciones de sitios con nombre de host
Al crear una nueva colección de sitios de nombre de host, las asignaciones de acceso alternativas predeterminadas seguirán existiendo, pero no se pueden usar. Use los comandos PowerShell para administrar las asignaciones de direcciones URL para colecciones de sitios con nombre de host.
Agregar una asignación a un sitio existente:
Set-SPSiteUrl (Get-SPSite 'http://teams.contoso.com') -Url 'http://teamsites.contoso.com' -Zone Intranet
Cada asignación de URL se aplica a una única zona. Use uno de los nombres de zona siguientes al asignar las direcciones URL:
Predeterminada
Intranet
Internet
Personalizada
Extranet
Si no especifica el parámetro Zone y la entrada de asignación de direcciones URL es nueva, se usa la zona predeterminada. Todavía tiene una limitación a 5 direcciones URL para una única colección de sitios.
Quitar una asignación de un sitio.
Remove-SPSiteUrl 'http://teamsites.contoso.com'
Mostrar todas las asignaciones de dirección URL de un sitio:
Get-SPSiteUrl -Identity (Get-SPSite 'http://teams.contoso.com')
Configuración de certificados SSL para colecciones de sitios con nombres de host
Importante
Si usa SharePoint Server Subscription Edition, use la nueva característica de administración de certificados para instalar y asignar certificados SSL a las aplicaciones web. Esta característica permite instalar y administrar los certificados SSL directamente en SharePoint en lugar de configurar manualmente los certificados SSL en IIS.
Se puede configurar una aplicación web única que use SSL y, a continuación, crear varias colecciones de sitios con nombre de host dentro de esa aplicación web. Para navegar hasta un sitio a través de SSL, se debe instalar y asignar un certificado de servidor en el sitio web de IIS. Cada colección de sitios con nombre de host en una aplicación web compartirá el certificado de servidor único que se haya asignado en el sitio web de IIS.
Es necesario adquirir un certificado comodín o un certificado de nombre alternativo de sujeto (SAN) y usar un formato de dirección URL para la colección de sitios con nombre de host que coincida con ese certificado. Por ejemplo, si adquiere un certificado comodín *.contoso.com, debe generar direcciones URL de colección de sitios con nombre de host como https://site1.contoso.com
, y https://site2.contoso.com
así sucesivamente, para permitir que estos sitios pasen la validación SSL del explorador. Sin embargo, si se requieren nombres de dominio de segundo nivel únicos para los sitios, se debe crear múltiples aplicaciones web, en lugar de múltiples colecciones de sitios con nombre de host.
Para configurar SSL para colecciones de sitios con nombres de host, habilite SSL al crear la aplicación web. Esta configuración creará un sitio web de IIS con un enlace SSL en lugar de un enlace HTTP. Después de crear la aplicación web, abra Administrador de IIS y asigne un certificado a ese enlace SSL. A continuación, puede crear colecciones de sitios en esa aplicación web.
Si va a implementar varias zonas con colecciones de sitios con nombre de host, asegúrese de que la configuración de certificados y enlaces (SSL o HTTP) sea adecuada para cada zona y sitio de IIS correspondiente.
Uso de colecciones de sitios con nombres de host con terminación SSL externa
Se pueden usar colecciones de sitios con nombres de host con terminación SSL externa. Existen varios requisitos para usar la terminación SSL con las colecciones de sitios con nombre de host:
Nota:
Se admite la terminación sin cifrar de SSL, pero no se recomienda porque da lugar a que el tráfico no cifrado se envíe desde el servidor proxy al servidor web.
Como mínimo un sitio de IIS debe tener un enlace al puerto 80 (o al puerto al que el terminador envíe la solicitud). Microsoft recomienda usar el sitio IIS de una aplicación web (o el sitio IIS de una zona para una aplicación web) con HTTP/80.
El terminador SSL o el proxy inverso deben preservar el encabezado de host HTTP original del cliente.
Si la solicitud SSL del cliente se envía al puerto SSL predeterminado (443), el terminador SSL o el proxy inverso deben enviar la solicitud HTTP descifrada al servidor front end web en el puerto HTTP predeterminado (80). Si la solicitud SSL del cliente se envía a un puerto SSL no predeterminado, el terminador SSL o el proxy inverso deben enviar la solicitud HTTP descifrada al servidor front end web del mismo puerto no predeterminado.
El dispositivo que termina la conexión SSL, como un servidor proxy inverso, debe ser capaz de generar un encabezado HTTP personalizado: Front-End-Https: On. Este encabezado es el mismo encabezado personalizado que Outlook Web Access (OWA) usa: Front-End-Https: On/Off. Más adelante en esta sección se incluye más información sobre este encabezado personalizado.
Para usar colecciones de sitios con nombre de host con terminación SSL externa, configure su aplicación web como lo haría normalmente para la terminación SSL y compruebe que cumple todos los requisitos descritos más arriba. En este escenario, SharePoint Server usará HTTPS en lugar de HTTP para mostrar los vínculos de sus colecciones de sitios con nombre de host en esa aplicación web.
Los servidores de proxy inverso pueden publicar colecciones de sitios con nombre de host de SharePoint Server y llevar a cabo la terminación SSL externa. En este escenario, el servidor de proxy externo cambia el tipo de conexión entre el usuario final y el servidor front end web de SharePoint de SSL/TLS a HTTP, o viceversa. Los servidores proxy inversos en este escenario deben insertar un encabezado HTTP adicional en la solicitud del usuario cuando reenvía la solicitud al servidor front-end web de SharePoint. Este encabezado HTTP adicional indica a SharePoint Server el tipo de conexión que el usuario final inició para que SharePoint Server represente las direcciones URL correctamente en su respuesta. El nombre de encabezado HTTP es "Front-End-Https" y sus valores aceptables son los siguientes.
Tabla: valores de encabezado Front-End-Https
Valor | Descripción |
---|---|
Activado | El servidor de proxy inverso recibió la solicitud del usuario final a través de una conexión HTTPS (SSL o TLS). Por ejemplo, Front-End-Https: On. |
Off | El servidor de proxy inverso recibió la solicitud del usuario final a través de una conexión HTTPS no cifrada. |
Los valores no distinguen mayúsculas de minúsculas. Por ejemplo, on, ON, On y oN son aceptables.
Este encabezado personalizado solo funciona con colecciones de sitios con nombre de host. No funciona con colecciones de sitios basadas en rutas de acceso.
En el ejemplo siguiente, se muestra una colección de sitios con nombre de host creada en https:
New-SPSite 'https://portal.contoso.com' -HostHeaderWebApplication (Get-SPWebApplication 'Contoso Sites') -Name 'Portal' -OwnerAlias 'contoso\administrator' -language 1033 -Template 'STS#0'
Este ejemplo crea una colección de sitios con nombre de host que tiene la dirección URL, https://portal.contoso.com
, en la aplicación web de SharePoint Server que tiene la dirección URL https://webapp.contoso.com
.
Habilitación de aplicaciones en entornos con múltiples zonas
Nota:
Esta sección solo se aplica a SharePoint Server 2013.
La actualización pública de marzo de 2013 permite configurar un dominio de aplicación para cada zona de aplicación web y usar la configuración de aplicación web de encabezado host y de asignación de acceso alternativo. Antes del lanzamiento de esta actualización, solo se podía hospedar un dominio de aplicación, pero tenía que estar en la zona predeterminada. No se pudo usar el dominio de aplicación en asignaciones de acceso alternativas o configuraciones de aplicación web de encabezado de host.
Para resolver este problema, aplique la revisión de actualización acumulativa del servidor de SharePoint Server (12 de marzo de 2013). Vea Actualizaciones para SharePoint 2013.
Migración de colecciones de sitios basadas en rutas de acceso a colecciones de sitios con nombre de host
Determinación de colecciones de sitios con nombre de host en aplicaciones web existentes
Puede usar el siguiente script para identificar qué colecciones de sitios existentes están basadas en la ruta de acceso y cuáles tienen nombre de host, por lo que más adelante puede decidir si desea convertir cualquiera de ellas de un tipo a otro.
$webApp = Get-SPWebapplication 'http://webapp.contoso.com'
foreach($spSite in $webApp.Sites)
{
if ($spSite.HostHeaderIsSiteName)
{ Write-Host $spSite.Url 'is host-named' }
else
{ Write-Host $spSite.Url 'is path based' }
}
Conversión de colecciones de sitios basadas en rutas de acceso a colecciones de sitios con nombre de host
Puede convertir colecciones de sitios basadas en ruta de acceso a colecciones de sitios con nombre de host y colecciones de sitios con nombre de host en colecciones de sitios basadas en rutas de acceso mediante el cmdlet set-SPSite de PowerShell. Después del cambio de nombre del sitio, se recomienda reciclar un grupo de aplicaciones para forzar la actualización de la memoria caché. No puede usar el sitio web de Administración central de SharePoint ni los cmdlets de Windows PowerShell que adjuntan y desasocian, ni montan y desmonten bases de datos de contenido para convertir colecciones de sitios.
En el ejemplo siguiente se convierte una colección de sitios estándar en una colección de sitios con nombre de host:
Get-SPSite https://SP2013content.contoso.com/sites/PathBasedSiteCollection|Set-SPSite -url https://HostNamedSiteCollection.contoso.com
Uso de múltiples aplicaciones web con colecciones de sitios con nombres de host
Si se usa más de una aplicación web, se agrega más sobrecarga operativa y complejidad al sistema. Se recomienda usar una aplicación web para las colecciones de sitios. Sin embargo, los siguientes motivos pueden influenciarle para implementar colecciones de sitios en varias aplicaciones web:
Las directivas de seguridad de una organización requieren aplicaciones web o grupos de aplicaciones separados.
Las aplicaciones web se deben configurar de forma diferente.
Una organización requiere el uso de varios grupos de servidores proxy.
Es más complejo implementar colecciones de sitios con nombre de host con varias aplicaciones web en una granja de servidores, ya que debe completar más pasos de configuración. Por ejemplo, podrían extenderse las direcciones URL con sitios con nombre de host por varias aplicaciones web que compartan el mismo puerto en una única granja de servidores. Este escenario requiere más pasos de configuración para asegurarse de que las solicitudes se asignan a las aplicaciones web correctas. Se deben configurar manualmente las asignaciones en cada servidor web de la granja de servidores mediante la configuración de una dirección IP independiente para representar cada aplicación web. También se deben crear y administrar enlaces a encabezados host para asignar direcciones IP únicas para cada sitio. Los scripts pueden administrar y replicar esta configuración entre servidores; sin embargo, esta replicación de configuración agrega complejidad a la solución. Cada dirección URL única también requiere una asignación en DNS. Por lo general, si varias aplicaciones web son un requisito, se recomiendan las colecciones de sitios basadas en rutas de acceso con la asignación de acceso alternativo.
Importante
SharePoint Server Subscription Edition versión 23H1 permite a los usuarios asignar enlaces de encabezado de host comodín a sus aplicaciones web. Esta nueva característica puede ayudarle a usar varias aplicaciones web con colecciones de sitios con nombre de host de las siguientes maneras:
Los usuarios ya no necesitan asignar manualmente enlaces de direcciones IP únicos a sus aplicaciones web en cada uno de sus servidores de SharePoint. Los usuarios que ejecutan SPSE versión 23H1 pueden asignar en su lugar encabezados de host comodín a cada una de sus aplicaciones web, lo que es más fácil de administrar.
Los encabezados de host comodín asignados a cada aplicación web deben ser únicos. Por ejemplo, la aplicación web 1 podría ser
*.internal.example.com
, la aplicación web 2 podría ser*.external.example.com
, etc.Las colecciones de sitios con nombre de host de estas aplicaciones web tendrán que cumplir el patrón de encabezado de host comodín de su aplicación web. Por ejemplo, si una aplicación web tiene un encabezado host comodín de
*.external.example.com
, puede hospedar colecciones de sitios con nombre de host con nombres DNS comosite1.external.example.com
,site2.external.example.com
, etc.Los enlaces de encabezado de host comodín solo pueden tener un carácter comodín único como la etiqueta más a la izquierda en el nombre DNS. Por ejemplo, un encabezado de host comodín válido puede ser
*.external.example.com
, pero no puede serexternal.*.example.com
,*.*.example.com
,external*.example.com
,*external.example.com
, etc.
En las dos tablas siguientes se comparan tres opciones de diseño diferentes para implementar colecciones de sitios. Estas tablas pretenden ayudarle a comprender las consecuencias de cada enfoque y cómo la configuración varía en función de la arquitectura.
Tabla: Resultados de diferentes opciones de diseño para aprovisionar las colecciones de sitios
Colecciones de sitios con nombre de host con todos los sitios de una granja de servidores consolidada en una aplicación web | Colecciones de sitios basadas en rutas de acceso con asignación alternativa de acceso y varias aplicaciones web | Colecciones de sitios con nombre de host con varias aplicaciones web en una granja de servidores | |
---|---|---|---|
Aprovisionamiento de colecciones de sitios | Use PowerShell de Microsoft o una solución de aprovisionamiento de colección de sitios personalizada para aprovisionar sitios. | Use Administración central o PowerShell de Microsoft para implementar sitios. | Use PowerShell de Microsoft o una solución de aprovisionamiento de colección de sitios personalizada para aprovisionar sitios. |
Administración de la dirección URL | Puede asignar todas las colecciones de sitios en DNS para que apunten a una única dirección IP que represente la aplicación web. | Si se implementó más de una zona, la asignación alternativa de acceso se configura para cada dirección URL del sitio. Cada zona también requiere una asignación en DNS. | Se requiere una configuración adicional para asegurarse de que las solicitudes de sitios que comparten el mismo puerto se asignan a la aplicación web correcta. Cada nombre de host único también requiere una asignación en DNS. Esta configuración es manual y se debe completar en cada servidor web en una granja de servidores para cada sitio. |
Más direcciones URL | Puede asignar hasta cinco direcciones URL a una colección de sitios con nombre de host, una por zona. No es necesario extender la aplicación web a varias zonas. Si no se implementa una zona, se usa la zona predeterminada. | El número de direcciones URL de una colección de sitios está limitado a cinco porque el número permitido de zonas es cinco. | Puede asignar hasta cinco direcciones URL a una colección de sitios con nombre de host, una por zona. No es necesario extender la aplicación web a varias zonas. Si no se implementa una zona, se usa la zona predeterminada. |
Aplicaciones de servicio | Todos los sitios de la granja de servidores usan un único grupo de aplicación de servicio. | Puede implementar grupos de aplicaciones de servicio personalizado para distintas aplicaciones web. | Puede implementar grupos de aplicaciones de servicio personalizado para distintas aplicaciones web. |
Zonas | No es necesario implementar varias zonas para implementar direcciones URL diferentes para la misma colección de sitios. Si no se implementa una zona, se usa la zona predeterminada. | Las zonas son necesarias para implementar diferentes direcciones URL para la misma colección de sitios. | No es necesario implementar varias zonas para implementar direcciones URL diferentes para la misma colección de sitios. Si no se implementa una zona, se usa la zona predeterminada. |
Autenticación | Con una aplicación web, las opciones de autenticación están limitadas a cinco zonas. Sin embargo, se pueden implementar varios métodos de autenticación en una zona. | Puede implementar distintos diseños de zona y de autenticación para cada aplicación web. | Puede implementar distintos diseños de zona y de autenticación para cada aplicación web. |
Autenticación | Proporciona aislamiento de las secuencias de comandos de cliente entre las direcciones URL de dominio. | Puede aislar las aplicaciones web en grupos de aplicaciones dedicados para aislar el proceso, si así lo desea. Proporciona aislamiento entre las direcciones URL de dominio. |
Puede aislar las aplicaciones web en grupos de aplicaciones dedicados para aislar el proceso, si así lo desea. Proporciona aislamiento entre las direcciones URL de dominio. |
Directiva | Se pueden usar zonas para asignar distintas directivas a los sitios con nombre de host. | Las directivas se pueden utilizar en el nivel de aplicación web para exigir los permisos, independientemente de los permisos configurados en los documentos o en los sitios individuales. Además, se pueden implementar directivas distintas para diferentes zonas. | Se pueden implementar directivas distintas para que diferentes aplicaciones web exijan los permisos, independientemente de los permisos configurados en los documentos o en los sitios individuales. Además, se pueden implementar directivas distintas para diferentes zonas. |
Los números de escalabilidad que pueden afectar también a las decisiones de diseño incluyen los valores máximos recomendados para las colecciones de sitios, las bases de datos y las rutas de acceso administradas.
En la tabla siguiente se resume la configuración necesaria para administrar las direcciones URL basadas en cada una de las tres opciones presentadas en este artículo.
Tabla: Configuración requerida para diferentes diseños de colecciones de sitios
Colecciones de sitios con nombre de host con todos los sitios de una granja de servidores consolidada en una aplicación web | Colecciones de sitios basadas en rutas de acceso con asignación alternativa de acceso y varias aplicaciones web | Colecciones de sitios con nombre de host con varias aplicaciones web en una granja de servidores | |
---|---|---|---|
En SharePoint Server | Cree la aplicación web. Cree una colección de sitios raíz que no sea accesible para los usuarios (por ejemplo, https://HNSC01.fabrikam.com ). Cree las colecciones de sitios con nombre de host con el encabezado host (por ejemplo, https://intranet.fabrikam.com ). Puede añadir de modo opcional más direcciones URL para cada colección de sitios y configurar las zonas con Set-SPSiteUrl. (Esto no es necesario en los ejemplos de diseño de portal empresarial porque solo hay una zona). |
Cree la aplicación web con el encabezado host (por ejemplo, https://intranet.fabrikam.com ). Configure de forma opcional la asignación alternativa de acceso. En el ejemplo de diseño, no es necesario porque solo hay una zona. Cree la colección de sitios basada en rutas de acceso raíz. |
Cree la aplicación web. Cree una colección de sitios raíz que no sea accesible para los usuarios (por ejemplo, https://HNSC01.fabrikam.com ). Cree las colecciones de sitios con nombre de host con el encabezado host (por ejemplo, https://intranet.fabrikam.com ). Puede añadir de modo opcional más direcciones URL para cada colección de sitios y configurar las zonas con Set-SPSiteUrl. (Esto no es necesario en los ejemplos de diseño de portal empresarial porque solo hay una zona). |
En IIS | Asocie un certificado SSL (certificado de comodín o certificado SAN) para todos los sitios con nombre de host (dominio) en la aplicación web. | Asocie un certificado SSL en IIS para cada zona (cada zona es una aplicación web independiente en IIS). | Asocie un certificado SSL (certificado de comodín o certificado SAN) para un sitio con nombre de host (dominio) en las aplicaciones web. En cada servidor web de la granja de servidores y para cada aplicación web que comparte un puerto: Configure una dirección IP independiente para representar cada aplicación web. Edite manualmente el enlace del sitio web de IIS para quitar el enlace de encabezado de host que se creó cuando se creó la aplicación web y reemplace este enlace por un enlace de dirección IP. |
Si usa varias aplicaciones web en direcciones IP diferentes, es posible que tenga que completar una configuración adicional para la NIC, DNS y el equilibrador de carga para cada servidor.
Creación de múltiples aplicaciones web con colecciones de sitios con nombres de host
Para ejecutar varias aplicaciones web en el mismo servidor y puerto, en combinación con colecciones de sitios con nombre de host, debe asignar direcciones IP diferentes a las aplicaciones web. Este tipo de arquitectura requiere que se agreguen direcciones IP a los servidores web y que se configure el enrutador de red para hacer referencia a nombres de host para la dirección IP de su aplicación web.
Nota:
Puede crear una aplicación web que no tenga un encabezado host. Si crea una aplicación web que no tiene un encabezado de host, no puede crear varias aplicaciones web con colecciones de sitios con nombre de host en el mismo servidor web.
El proceso que crea varias aplicaciones web para una colección de sitios con nombre de host incluye las siguientes tareas:
Crear varias aplicaciones web.
Agregar una nueva dirección IP virtual en IIS en cada servidor web de la granja de servidores.
Creación de múltiples aplicaciones web para colecciones de sitios con nombres de host
En el siguiente ejemplo se crea una aplicación web:
New-SPWebApplication -Name 'webapp' 'webapp.contoso.com' -port 80 -ApplicationPool ContosoAppPool -ApplicationPoolAccount (Get-SPManagedAccount 'Contoso\JDoe') -AuthenticationProvider (New-SPAuthenticationProvider -UseWindowsIntegratedAuthentication)
Repita esta tarea para cada aplicación web.
Agregación de direcciones IP virtuales en IIS
Los enlaces IP deben aplicarse en todos los servidores que hospedarán la aplicación web. Defina el comando de espera en 60 segundos para asegurarse de que los enlaces IP se han definido para todos los servidores de la granja antes de quitar el encabezado de host de la aplicación web. Se pueden usar scripts remotos para este trabajo.
Use los comandos siguientes para agregar enlaces IP únicos a cada una de las aplicaciones web que creó y, a continuación, quite el enlace de encabezado de estas aplicaciones web.
Import-Module WebAdministration
#add empty binding to webapp on IP 192.168.10.20
New-WebBinding -Name 'webapp' -IPAddress '192.168.10.20' -HostHeader ''
Sleep 60
# remove existing binding webapp.contoso.com from existing web application
Get-WebBinding -Name 'webapp' -HostHeader 'webapp.contoso.com'|Remove-WebBinding