Planejar conjuntos de sites nomeados pelo host (SharePoint Foundation 2010)
Aplica-se a: SharePoint Foundation 2010
Tópico modificado em: 2010-06-14
Neste artigo:
Sobre conjuntos de sites nomeados pelo host
Sobre cabeçalhos de host
Criar um conjunto de sites nomeados pelo host
Criar um conjunto de sites nomeados pelo host de forma programática
Usar caminhos gerenciados com conjuntos de sites nomeados pelo host
Expor sites nomeados pelo host via HTTP ou SSL
Configurar SSL para conjuntos de sites nomeados pelo host
Usar conjuntos de sites nomeados pelo host com terminação SSL externa
O Microsoft SharePoint Foundation 2010 tem suporte para conjuntos de sites baseados em caminho e nomeados pelo host. A diferença principal entre os dois tipos de conjuntos de sites é que todos os conjuntos de sites baseados em caminho em um aplicativo Web compartilham o mesmo nome de host (nome DNS), já cada conjunto de sites nomeado pelo host em um aplicativo Web recebe um nome DNS exclusivo.
Os conjuntos de sites baseados em caminhos fornecem uma solução de hospedagem corporativa, sendo que todos eles compartilham o mesmo nome de host do aplicativo Web. Em uma implantação baseada em caminho, é possível ter um único conjunto de sites na raiz do aplicativo Web e conjuntos de sites adicionais em caminhos gerenciados no aplicativo Web.
Os conjuntos de site nomeados pelo host oferecem uma solução de hospedagem Web escalonável com cada conjunto de sites atribuído a um nome DNS exclusivo. Em uma implantação de hospedagem Web, cada conjunto de sites nomeados pelo host possui sua URL intuitiva do nome de host, como http://customer1.contoso.com
, http://customer2.contoso.com
ou http://www.customer3.com
.
O SharePoint Foundation 2010 fornece dois aprimoramentos significativos para conjuntos de sites nomeados pelo host: a capacidade de usar caminhos gerenciados com conjuntos de sites nomeados pelo host e a capacidade de usar terminação SSL externa com esse tipo de conjunto de sites.
Sobre conjuntos de sites nomeados pelo host
Os hosters Web oferecem aos clientes espaço de servidor na Web para hospedar seus próprios sites. Em um ambiente do SharePoint Foundation 2010 baseado em caminho, esses sites normalmente são atribuídos a endereços https://www.contoso.com/sites/cliente1, https://www.contoso.com/sites/cliente2 etc. No entanto, os clientes de hospedagem Web em geral querem que seus sites estejam disponíveis em um nome de domínio intuitivo, como http://customer1.contoso.com
, http://customer2.contoso.com
etc.
Uma forma de dar suporte a essa solicitação do cliente é fornecer a cada cliente seu próprio aplicativo Web e atribuir o nome DNS exclusivo do cliente a esse aplicativo Web. No entanto, os aplicativos da Web do SharePoint Foundation 2010 não são tão bem dimensionados quanto os conjuntos de sites do SharePoint Foundation 2010. O SharePoint Foundation 2010 dá suporte para conjuntos de sites nomeados pelo host como uma alternativa à criação de aplicativos da Web separados para cada cliente. Conjuntos de sites nomeados pelo host podem ser dimensionados para milhares de conjuntos de sites, pois todos podem existir em um único aplicativo Web e ainda oferecer o recurso de nomenclatura intuitiva.
Como os conjuntos de sites nomeados pelo host têm uma URL exclusiva, eles não dão suporte para mapeamentos de acesso alternativo e sempre se considera que estão na zona Padrão. Se você precisar dar suporte a conjuntos de sites que respondam a várias URLs de nome de host, considere o uso de conjuntos de sites baseados em caminho com mapeamentos de acesso alternativos, em vez de conjuntos de sites nomeados pelo host. Há várias opções de configuração adicionados a serem levadas em conta durante o provisionamento de um novo site do SharePoint Foundation 2010. A especificação do modelo de site apropriado durante a criação de site determinará quais Web parts pré-configuradas e outros elementos da interface de usuário estarão disponíveis em um novo site. Em um cenário de hospedagem, provavelmente você vai querer selecionar um modelo de site de equipe (valor de "STS#0" ao criar o site) ou um site em branco sem Web parts ou listas predefinidas (valor de "STS#1"). Além disso, considere a especificação de cotas do site em cada conjunto de sites recém-provisionado.
Sobre cabeçalhos de host
Os cabeçalhos de host se referem à parte do protocolo HTTP que informa ao servidor da Web o nome DNS do site ao qual o cliente está se conectando. Você pode aplicar cabeçalhos de host em dois níveis diferentes no SharePoint Foundation 2010:
O nível do aplicativo Web (site do IIS)
O nível do conjunto de sites
É importante entender a distinção entre esses dois níveis. Os cabeçalhos de host no nível do site do IIS somente se destinam a conjuntos de sites baseado em caminho. Os cabeçalhos de host no nível do conjunto de sites somente se destinam a conjuntos de sites nomeados pelo host. Na maioria dos casos, a aplicação de uma associação de cabeçalho de host no nível do site do IIS torna impossível acessar conjuntos de sites nomeados pelo host por meio do site do IIS. Isso ocorre porque o IIS não responderá a solicitações de nomes de host que forem diferentes da associação de cabeçalho de host.
Conjuntos de sites baseados em caminho e nomeados pelo host podem coexistir no mesmo aplicativo Web e podem existir em vários aplicativos da Web. Para assegurar que os dois tipos de conjuntos de sites estejam acessíveis para os usuários, não coloque associações de cabeçalho de host no site do IIS atribuído à zona Padrão do seu aplicativo Web, se houver conjuntos de sites nomeados pelo host nesse aplicativo Web. Você pode aplicar associações de cabeçalho de host aos sites do IIS nas outras zonas do aplicativo Web. Isso permite a você usar a zona Padrão com conjuntos de sites nomeados pelo host ao permitir a utilização da funcionalidade de mapeamento de acesso alternativo nas outras zonas para conjuntos de sites baseados em caminho.
Você pode modificar manualmente as associações de cabeçalho de host no site do IIS Web usando o Gerenciador do IIS, mas isso não é recomendável. As alterações feitas com o Gerenciador do IIS não serão registradas no SharePoint Foundation 2010. Se o SharePoint Foundation 2010 tentar provisionar um site do IIS em outro computador no farm para o mesmo aplicativo Web e zona, a associação de cabeçalho de host original será usada no lugar da associação modificada. Para modificar uma associação existente de um site do IIS, remova o aplicativo Web da zona e estenda novamente o aplicativo Web para a zona com a associação que você deseja usar.
Criar um conjunto de sites nomeados pelo host
Use o Windows PowerShell para criar um conjunto de sites nomeado pelo host. Você não pode usar o aplicativo Web da Administração Central do SharePoint Foundation 2010 para criar um conjunto de sites nomeado pelo host, mas pode usar a Administração Central para gerenciar o conjunto de sites depois de criá-lo.
Você pode criar um conjunto de sites nomeados pelo host usando o cmdlet New-SPSite
do Windows PowerShell com o parâmetro -HostHeaderWebApplication
, como mostrado no exemplo a seguir:
Para criar um conjunto de sites nomeados pelo host usando o Windows PowerShell, verifique se os seguintes requisitos mínimos são atendidos: Consulte Add-SPShellAdmin.
No menu Iniciar, clique em Todos os Programas.
Clique em Produtos do Microsoft SharePoint 2010.
Clique em Shell de Gerenciamento do SharePoint 2010.
No prompt de comando do Windows PowerShell (isto é, PS C:\>), digite o seguinte:
New-SPSite http://host.header.site.url -OwnerAlias DOMAIN\username -
HostHeaderWebApplication https://servername
Isso cria um conjunto de sites nomeados pelo host com a URL http://host.header.site.url
no aplicativo Web SharePoint Foundation 2010 com a URL https://servername
.
Criar um conjunto de sites nomeados pelo host de forma programática
Além de usar o Windows PowerShell para criar sites nomeados pelo host, você pode usar o modelo de objeto do SharePoint Foundation 2010. O seguinte exemplo de código cria o conjunto de sites nomeado pelo host com a URL http://host.header.site.url
no aplicativo Web SharePoint Foundation 2010 com a URL https://servername
:
SPWebApplication webApp = SPWebApplication.Lookup(new
Uri("https://www.contoso.com"));
SPSiteCollection sites = webApp.Sites;
SPSite Site = null;
Site = sites.Add("http://hoster.contoso.com", "Site_Title",
"Site_Description", 1033, "STS#0", "contoso\owner",
"Owner_Display_Name", "Owner_Email", "contoso\secondaryowner,
"Secondary_Owner_Display_Name", "Secondary_Owner_Email", true);
O SharePoint Foundation 2010 é fornecido com um conjunto de serviços Web para várias tarefas de usuário e administrativas. Uma dessas tarefas administrativas é a criação de um novo conjunto de sites. O método de serviço Web CreateSite não dá suporte à criação de conjuntos de sites nomeados pelo host. Uma solução alternativa para esse problema é escrever um serviço Web que inclua o exemplo de código da API.
Usar caminhos gerenciados com conjuntos de sites nomeados pelo host
O SharePoint Foundation 2010 adiciona suporte para caminhos gerenciados com conjuntos de sites nomeados pelo host. Os hosters podem fornecer vários conjuntos de sites ao mesmo cliente e cada conjunto de sites compartilha o nome de host exclusivo do cliente, diferenciado pelo caminho da URL após o nome de host.
Caminhos gerenciados para conjuntos de sites nomeados pelo host são diferentes de caminhos gerenciados para conjuntos de sites baseados em caminho. os caminhos gerenciados para conjuntos de sites nomeados pelo host não se aplicam a conjuntos de sites baseados em caminho; nem os caminhos gerenciados para conjuntos de sites baseados em caminho se aplicam a conjuntos de sites nomeados pelo host. Os caminhos gerenciados criados para conjuntos de sites nomeados pelo host estão disponíveis para todos os conjuntos de sites nomeados pelo host no farm, independentemente do aplicativo Web no qual o conjunto de sites nomeado pelo host está. Você deve criar um conjunto de sites nomeado pelo host raiz para um nome de host antes de criar um conjunto de sites nomeado pelo host com caminho gerenciado para esse nome de host.
Você pode criar um caminho gerenciado para uso com conjuntos de sites nomeados pelo host usando o cmdlet New-SPManagedPath
do Windows PowerShell com o parâmetro -HostHeader
, conforme mostrado no seguinte exemplo:
New-SPManagedPath pathname -HostHeader
Um conjunto de sites nomeados pelo host criado em um caminho gerenciado é mostrado no seguinte exemplo:
New-SPSite http://host.header.site.url/pathname/sitename -OwnerAlias DOMAIN\username -HostHeaderWebApplication https://servername
Expor sites nomeados pelo host via HTTP ou SSL
Os conjuntos de sites nomeados pelo host usarão o mesmo esquema de protocolo da URL pública na zona Padrão do aplicativo Web. Se você quiser fornecer os conjuntos de sites nomeados pelo host no aplicativo Web sobre HTTP, verifique se a URL pública na zona Padrão do aplicativo Web é uma URL baseada em HTTP. Para fornecer conjuntos de sites nomeados pelo host no aplicativo Web sobre SSL, verifique se a URL pública na zona Padrão do aplicativo Web é uma URL baseada em HTTPS.
Diferentemente de uma versão anterior, o SharePoint Foundation 2010 não tem suporte para um conjunto de sites nomeado pelo host usando URLs baseadas em HTTP e SSL simultaneamente. Se for necessário que alguns conjuntos de sites nomeados pelo host estejam disponíveis sobre HTTP enquanto outros precisarem estar disponíveis sobre SSL, separe os conjuntos de sites nomeados pelo host em dois aplicativos Web diferentes dedicados para esse tipo de acesso. Nesse cenário, os conjuntos de sites nomeados pelo host HTTP devem estar em um aplicativo Web dedicado para acesso HTTP e os conjuntos de sites nomeados pelo host SSL devem estar em um aplicativo Web dedicado para acesso SSL.
Configurar SSL para conjuntos de sites nomeados pelo host
Em cenários de hospedagem, os hosters podem configurar um único aplicativo Web com SSL e depois criar vários conjuntos de sites nomeados pelo host nesse aplicativo Web. Para navegar para um site sobre SSL, é necessário instalar um certificado de servidor e atribuí-lo ao site do IIS. Cada conjunto de sites nomeado pelo host em um aplicativo Web compartilhará o certificado de servidor exclusivo atribuído ao site do IIS.
Os hosters precisam adquirir um certificado curinga ou um certificado de nome alternativo de assunto e depois usar uma política de URL de conjunto de sites nomeado pelo host que corresponda a esse certificado. Por exemplo, se um hoster adquire um certificado curinga *.contoso.com, esse hoster terá que gerar URLs do conjunto de sites nomeado pelo host, como https://site1.contoso.com, https://site2.contoso.com etc., para permitir que esses sites sejam aprovados na validação SSL do navegador. No entanto, se os clientes precisarem de nomes de domínio de segundo nível exclusivos para seus sites, o hoster terá que criar vários aplicativos Web, em vez de vários conjuntos de sites nomeados pelo host.
Para configurar SSL para conjuntos de sites nomeados pelo host, habilite o SSL ao criar o aplicativo Web. Isso criará um site da IIS com uma associação SSL, em vez de uma associação HTTP. Após a criação do aplicativo Web, abra o Gerenciador do IIS e atribua um certificado a essa associação SSL. Em seguida, você poderá criar conjuntos de sites nesse aplicativo Web.
Usar conjuntos de sites nomeados pelo host com terminação SSL externa
Como o SharePoint Foundation 2010 usa a URL pública na zona Padrão do aplicativo Web para determinar se os conjuntos de sites nomeados pelo host serão renderizados como HTTP ou SSL, agora você pode usar conjuntos de sites nomeados pelo host com terminação SSL externa. Há 3 requisitos para utilização da terminação SSL com conjuntos de sites nomeados pelo host:
A URL pública na zona Padrão do aplicativo Web deve ser uma URL baseada em HTTPS.
O terminador SSL ou o proxy reverso precisa preservar o cabeçalho de host HTTP original do cliente.
Se a solicitação SSL do cliente for enviada para a porta SSL padrão (443), o terminador SSL ou o proxy reverso deve encaminhar a solicitação HTTP descriptografada ao servidor Web front-end na porta HTTP padrão (80). Se a solicitação SSL do cliente for enviada a uma porta SSL não padrão, o terminador SSL ou o proxy reverso deverá encaminhar a solicitação HTTP descriptografada ao servidor Web front-end na mesma porta não padrão.
Para usar os conjuntos de sites nomeados pelo host com a terminação SSL externa, configure seu aplicativo Web, como você normalmente faria para a terminação SSL, e certifique-se de que ele atenda aos requisitos descritos acima. Neste cenário, o SharePoint Foundation 2010 renderizará links de seus conjuntos de sites nomeados pelo host no aplicativo Web usando HTTPS em vez de HTTP.