Configurar o IIS 7 para sincronização da Web
Aplica-se: SQL Server
Os procedimentos deste tópico guiarão você pelo processo de configuração manual dos Serviços de Informações da Internet da Microsoft (IIS) versão 7 e mais recentes da para uso com sincronização da Web para replicação de mesclagem.
A configuração do IIS 7 ou mais recente é a primeira das três etapas necessárias para habilitar a sincronização da Web.
Para obter uma visão geral de todo o processo de configuração, consulte Configurar Sincronização da Web.
Importante
Certifique-se de que seu aplicativo use somente o .NET Framework 2.0 ou versões posteriores e que versões anteriores do .NET Framework não estejam instaladas no servidor IIS. Versões anteriores do .NET Framework podem provocar erros, como: "Formato inválido de uma mensagem durante a sincronização da Web. Verifique se os componentes de replicação estão adequadamente configurados no servidor Web".
Para usar a sincronização da Web, é necessário configurar o IIS concluindo as etapas a seguir. Cada etapa é descrita em detalhes neste tópico.
Instale e configure o SQL Server Replication Listener no computador que está executando o IIS.
Configure o protocolo TLS, anteriormente conhecido como protocolo SSL. O TSL é necessário para a comunicação entre o IIS e todos os assinantes.
Configure a autenticação IIS.
Configure uma conta e defina as permissões para o SQL Server Replication Listener.
Instalando o SQL Server Replication Listener
Há suporte para sincronização da Web no IIS, a partir da versão 5.0. O Assistente para Configurar Sincronização da Web do IIS versão 5 e 6 não está disponível com o IIS versão 7.0 e superior. A partir do SQL Server 2012, para usar o componente de sincronização da Web no servidor IIS, você deve instalar o SQL Server com replicação. Essa pode ser a edição gratuita do SQL Server Express.
Para instalar e configurar o SQL Server Replication Listener
Instale a replicação do SQL Server no computador com IIS.
Crie um novo diretório de arquivos para replisapi.dll no computador que está executando o IIS. É possível criar o diretório onde desejar, mas é recomendável criá-lo no diretório <unidade>:\Inetpub. Por exemplo, crie o diretório <unidade>:\Inetpub\SQLReplication\.
Copie replisapi.dll do diretório <unidade>:\Program Files\Microsoft SQLServer\nnn\com\para o diretório de arquivos que você criou na etapa 1.
Registre replisapi.dll:
Clique em Iniciare em Executar. Na caixa Abrir , insira cmde clique em OK.
No diretório criado na etapa 1, execute o comando a seguir:
regsvr32 replisapi.dll
Crie um novo site para replicação ou use um site existente. Esse site será acessado pelos componentes de replicação durante a sincronização. Os procedimentos deste tópico pressupõem o Site Padrão. Para obter mais informações sobre como criar sites, consulte a documentação do IIS
Crie um diretório virtual em IIS. O diretório virtual deve ser criado no site criado na etapa 4 e deve ser mapeado para o diretório que foi criado na etapa 1. Seja o mais restritivo possível ao atribuir a esse diretório. Você deve selecionar pelo menos as permissões de Leitura e Execução .
No Gerenciador dos Serviços de Informações da Internet (IIS), no painel Conexões , clique com o botão direito em Site Padrãoe selecione Adicionar Diretório virtual.
Para Alias, insira SQLReplication.
Para Caminho físico, insira <unidade>:\Inetpub\SQLReplication e, em seguida, clique em OK.
Configure o IIS para habilitar a execução de replisapi.dll.
No Gerenciador dos Serviços de Informações da Internet (IIS), clique em Site Padrão.
No painel central, clique em Mapeamentos do Manipulador.
No painel Ações , clique em Adicionar Mapeamento de Módulo.
Para Caminho de Solicitação , insira replisapi.dll.
Na lista suspensa Módulo , selecione IsapiModule.
Para Executável, insira <unidade>:\Inetpub\SQLReplication\replisapi.dll.
Para Nome, insira Replisapi.
Clique no botão Restrições da Solicitação , clique na guia Acesso e clique em Executar.
Clique em OK para fechar a caixa de diálogo Restrições da Solicitação e clique em OK novamente para fechar a caixa de diálogo Adicionar Mapeamento de Módulo . Quando for solicitado a permitir a extensão de ISAPI, clique em Sim para adicionar a extensão.
Verifique se Replisapi.dll está listado sob os mapeamentos do manipulador Habilitados . Se ele estiver na lista Desabilitados , clique com o botão direito do mouse na entrada Replisapi e clique em Editar Permissões de Recurso. Marque a caixa de seleção Executar e clique em OK.
Configurando a Autenticação IIS
Quando os computadores assinantes se conectam ao IIS, o IIS deve autenticar os assinantes para que eles possam acessar recursos e processos. A autenticação pode ser aplicada para o site da Web inteiro ou para o diretório virtual que você criou.
Recomendamos o uso da Autenticação Básica com TSL. O TSL é necessário, independentemente do tipo de autenticação usado.
Para configurar a Autenticação IIS
No Gerenciador dos Serviços de Informações da Internet (IIS), clique em Site Padrão.
No painel do meio, clique duas vezes em Autenticação.
Clique com o botão direito do mouse em Autenticação Anônima e escolha Desabilitar.
Clique com o botão direito do mouse em Autenticação Básica e escolha Habilitar.
Configurando o protocolo SSL
Para configurar o TSL, especifique um certificado a ser usado pelo computador que está executando o IIS. A sincronização da Web para replicação de mesclagem dá suporte ao uso de certificados de servidor, mas não de certificados de cliente. Para configurar o IIS para implantação, você deve obter primeiro um certificado de uma CA (autoridade de certificação). Para obter mais informações sobre certificados, consulte a documentação do IIS.
Depois de instalar o certificado, você deve associar o certificado ao site da Web que é usado pela sincronização da Web. Para desenvolvimento e testes, você pode especificar um certificado autoassinado. O IIS 7 pode criar um certificado para você e registrá-lo em seu computador.
A diferença entre a implantação para produção e os procedimentos fornecidos aqui é que, em produção e em testes de pré-produção, você usa um certificado emitido por uma CA em vez de um certificado autoassinado.
Importante
Um certificado autoassinado não é recomendável para uma instalação de produção. Certificados autoassinados não são seguros. Use certificados autoassinados apenas para desenvolvimento e testes.
Para configurar o TSL, você executará as seguintes etapas:
Configure o site para exigir o TSL e ignorar certificados do cliente.
Obtenha um certificado de uma CA ou crie um certificado autoassinado.
Associe o certificado ao site de replicação.
Para exigir segurança de SSL para um site
No Gerenciador dos Serviços de Informações da Internet (IIS), expanda o nó do servidor local e clique no Site Padrão (ou no seu site de sincronização da Web se ele for diferente do site padrão).
No painel do meio, clique duas vezes em Configurações de SSL.
Marque a opção Exigir SSL . Em Certificados de cliente, verifique se o botão Ignorar está selecionado.
Para criar um certificado autoassinado para testes
Em Gerenciador dos Serviços de Informações da Internet (IIS), clique no nó do servidor local e, em seguida, no painel central, clique duas vezes em Certificados de Servidor.
No painel Ações , clique em Criar Certificado Autoassinado.
Na caixa de diálogo Criar Certificado Autoassinado , digite um nome para o certificado e clique em OK.
Para associar um certificado a um site
No painel Conexões , clique no Site Padrão (ou no seu site de sincronização da Web, se ele for diferente do site padrão).
No painel Ações , clique em Associaçõese, em seguida, em Adicionar. A caixa de diálogo Adicionar Ligação do Site será exibida.
Na lista suspensa Tipo , selecione https. Deixe as configurações padrão de Endereço IP e Porta.
Na lista suspensa Certificado SSL , selecione o certificado criado em "Para criar um certificado autoassinado para testes", clique em OKe, em seguida em Fechar.
Para testar o certificado
No Gerenciador dos Serviços de Informações da Internet (IIS), clique em Site Padrão.
No painel Ações, clique em Procurar :443(https).
O Internet Explorer abrirá e exibirá uma mensagem dizendo: "Há um problema com o certificado de segurança deste site". Esse aviso informa que o certificado associado não foi emitido por uma CA reconhecida e pode não ser confiável. Esse é um aviso esperado, portanto, clique em Continuar neste site (não recomendado).
Se for solicitado a Conectar ao host local, digite um nome de usuário e senha para continuar. Você deve ver a página padrão do site.
Definindo permissões para o SQL Server Replication Listener
Quando um computador assinante se conecta ao computador que está executando o IIS, o assinante é autenticado usando o tipo de autenticação especificado quando o IIS foi configurado. Depois de autenticar o assinante, o IIS verifica se o assinante está autorizado a chamar a replicação do SQL Server. Você controla os usuários que podem invocar a replicação do SQL Server definindo as permissões para replisapi.dll. É necessário configurar corretamente as permissões para impedir acesso não autorizado à replicação do SQL Server.
Para configurar as permissões mínimas para a conta sob a qual o SQL Server Replication Listener é executado, realize o procedimento a seguir. As etapas do procedimento a seguir se aplicam ao Microsoft Windows Server 2008 que está executando o IIS 7.0.
Além de realizar as etapas a seguir, certifique-se de que os logons necessários estão na lista de acesso à publicação (PAL). Para obter mais informações sobre a PAL, consulte Secure the Publisher (Proteger o publicador).
Importante
Importante a conta criada nesta seção é a conta que se conectará ao Publicador e ao Distribuidor durante a sincronização. Essa conta deve ser adicionada como uma conta de logon do SQL no servidor de distribuição e de publicação.
A conta usada para o SQL Server Replication Listener deve ter permissões conforme descrito no tópico Segurança do Agente de Mesclagem, na seção "Conectar-se ao Publicador ou ao Distribuidor".
Em resumo, a conta deve:
Ser um membro da lista de acesso à publicação (PAL).
Ser mapeada para um logon associado a um usuário no banco de dados de publicação.
Ser mapeada para um logon associado a um usuário no banco de dados de distribuição.
Ter permissões de Leitura no compartilhamento de instantâneos.
Para configurar a conta e as permissões
Crie uma conta local no computador que está executando o IIS:
Abra o Server Manager. No menu Iniciar, clique com o botão direito do mouse em Computadore clique em Gerenciar.
No Server Manager, expanda Configuraçãoe, em seguida, expanda Usuários Locais e Grupos.
Clique com o botão direito do mouse em Usuáriose depois clique em Novo Usuário.
Digite um nome de usuário e uma senha forte. Limpe O usuário deve alterar a senha no próximo logon.
Clique em Criare depois em Fechar.
Adicione a conta ao grupo IIS_IUSRS:
No Server Manager, expanda Configuraçãoe, em seguida, expanda Usuários Locais e Grupose clique em Grupos.
Clique com o botão direito do mouse em IIS_IUSRSe, em seguida, clique em Adicionar ao Grupo.
Na caixa de diálogo Propriedades de IIS_IUSRS , clique em Adicionar.
Na caixa de diálogo Selecionar Usuários, Computadores ou Grupos , adicione a conta criada na etapa 1.
Verifique se Deste local exibe o nome do computador local (não um domínio). Se esse campo não exibir o nome do computador local, clique em Locais. Na caixa de diálogo Locais , selecione o computador local e clique em OK.
Nas caixas de diálogo Selecionar Usuários e Propriedades de IIS_IUSRS , clique emOK.
Conceda as permissões mínimas de conta na pasta que contém replisapi.dll:
No Windows Explorer, clique com o botão direito do mouse na pasta que você criou para replisapi.dll e clique em Propriedades.
Na guia Segurança , clique em Editar.
Na caixa de diálogo Permissões para <foldername>, clique em Adicionar para adicionar a conta criada na etapa 1.
Verifique se Deste local exibe o nome do computador local (não um domínio). Se esse campo não exibir o nome do computador local, clique em Locais. Na caixa de diálogo Locais , selecione o computador local e clique em OK.
Verifique se a conta tem permissão apenas para Ler, Ler e Executar e Listar Conteúdo da Pasta.
Selecione qualquer usuário ou grupo que não requeira acesso ao diretório, clique em Removere clique em OK.
Crie um pool de aplicativos no Gerenciador dos Serviços de Informação de Internet (IIS):
No Gerenciador dos Serviços de Informações da Internet (IIS), no painel Conexões , expanda o nó do servidor local.
Clique com o botão direito do mouse em Pools de Aplicativose clique em Adicionar Pool de Aplicativos.
Digite um nome para o pool de aplicativos, deixe os valores padrão para as pastas restantes e clique em OK.
Observação
Se você prevê que terá mais de dois clientes de sincronização simultâneos, poderá criar um ambiente Web. Para obter mais informações, consulte “Criando um Ambiente Web” em Configure a sincronização da Web.
Associe a conta com o pool de aplicativos:
No Gerenciador dos Serviços de Informações da Internet (IIS), expanda o nó do servidor local e clique em Pool de Aplicativos.
Clique com o botão direito do mouse no pool de aplicativos que você criou e clique em Definir Padrões do Pool de Aplicativos.
Na caixa de diálogo Padrões do Pool de Aplicativos , role até a seção Modelo de Processo e clique no campo Identidade .
Clique no botão de elipse à direita da linha Identidade .
Clique no botão de opção Conta Personalizada e clique em Definir.
Nos campos Nome de usuário e Senha , digite a conta e a senha que foram criadas na etapa 1 e clique em OK.
Clique em OK para fechar a caixa de diálogo Identidade do Pool de Aplicativos e clique em OK novamente para fechar a caixa de diálogo Padrões do Pool de Aplicativos.
Associe o pool de aplicativos ao site de replicação:
Em Gerenciador dos Serviços de Informações da Internet (IIS), expanda o nó do servidor local e clique no Site Padrão (ou no seu site de sincronização da Web se ele for diferente do site padrão).
No painel Ações , sob Gerenciar Site, clique em Configurações Avançadas.
Na caixa de diálogo Configurações Avançadas , clique no botão de elipse à direita de Pool de Aplicativos.
Na lista suspensa Pool de aplicativos , selecione o pool de aplicativos que você criou na etapa 4 e clique em OK.
Clique em OK novamente para fechar as Configurações Avançadas.
Testando a conexão com replisapi.dll
Execute a sincronização da Web em modo de diagnóstico para testar a conexão com o computador que está executando o IIS e verificar se o certificado TLS/SSL está instalado adequadamente. Para executar a sincronização da Web em modo diagnóstico, você deve ser um administrador no computador que executa o IIS.
Para testar a conexão com replisapi.dll
Certifique-se de que as configurações de rede local (LAN) no Assinante estão corretas:
No Microsoft Internet Explorer, no menu Ferramentas, clique em Opções da Internet.
Na guia Conexões , clique em Configurações da LAN.
Se um servidor proxy não for usado na LAN, desmarque Detectar Automaticamente as Configurações e Usar um servidor proxy para a rede local.
Se um servidor proxy for usado, clique em Usar um servidor proxy para a rede local e Ignorar servidor proxy para endereços locaise clique em OK.
No Assinante, no Internet Explorer, conecte-se ao servidor em modo de diagnóstico adicionando
?diag
ao endereço para o replisapi.dll. Por exemplo:https://server.domain.com/directory/replisapi.dll?diag
.Observação
No exemplo anterior, server.domain.com deve ser substituído pelo nome exato de Emitido para listado na seção Certificados de Servidor no Gerenciador do IIS.
Se o certificado especificado para o IIS não for reconhecido pelo sistema operacional Windows, a caixa de diálogo Alerta da Segurança será exibida. Esse alerta pode ocorrer porque o certificado é um certificado de teste ou porque o certificado foi emitido por uma autoridade de certificação (CA) que não é reconhecida pelo Windows.
Observação
Se essa caixa de diálogo não aparecer, certifique-se de que o certificado para o servidor que você está acessando foi adicionado ao repositório de certificados no Assinante como um certificado confiável. Para obter mais informações sobre exportação de certificados, consulte a documentação do IIS.
Na caixa de diálogo Alerta de Segurança , clique em Exibir Certificado.
Na caixa de diálogo Certificado , na guia Geral , clique em Instalar Certificado.
Conclua o Assistente para Importação de Certificados, aceitando os padrões.
Na caixa de diálogo Aviso de Segurança , clique em Sim.
Na caixa de diálogo de confirmação do Assistente para Importação de Certificados, clique em OK.
Feche a caixa de diálogo Certificado .
Na caixa de diálogo Alerta de Segurança , clique em Sim.
Observação
Os certificados serão instalados para os usuários. Esse processo deve ser executado para cada usuário que sincronizará com o IIS.
Na caixa de diálogo Conectar a <ServerName>, especifique o logon e a senha que o Agente de Mesclagem usará para se conectar ao IIS. Essas credenciais também serão especificadas no Assistente para Nova Assinatura.
Na janela do Internet Explorer chamada Informação diagnóstica do SQL Websync, verifique se o valor em cada coluna Status na página é ÊXITO.
Certifique-se de que o certificado está instalado corretamente no Assinante:
Feche e depois reabra o Internet Explorer.
Conecte ao servidor em modo diagnóstico. Se o certificado estiver instalado corretamente, a caixa de diálogo Alerta de Segurança não aparecerá. Se a caixa de diálogo aparecer, o Merge Agent apresentará falha quando tentar se conectar ao computador que está executando o IIS. Você deve certificar-se de que o certificado para o servidor que você está acessando foi adicionado ao repositório de certificados no Assinante como um certificado confiável. Para obter mais informações sobre exportação de certificados, consulte a documentação do IIS.