Partilhar via


Configurar o IIS 7 para sincronização da Web

Aplica-se a:SQL Server

Os procedimentos neste artigo guiam você pelo processo de configuração manual do IIS (Serviços de Informações da Internet) versão 7 e superior para uso com a sincronização da Web para replicação de mesclagem.

Configurar o IIS 7 ou superior é a primeira de 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 a sincronização da Web.

Certifique-se de que seu aplicativo usa apenas o .NET Framework 2.0 ou versões posteriores e que as versões anteriores do .NET Framework não estão instaladas no servidor IIS. Versões anteriores do .NET Framework podem causar erros, como:

The format of a message during Web synchronization was invalid. Ensure that replication components are properly configured at the Web server.

Para usar a sincronização da Web, você deve configurar o IIS concluindo as etapas a seguir. Cada etapa é descrita em detalhes neste artigo.

  1. Instale e configure o SQL Server Replication Listener no computador que está executando o IIS.

  2. Configure o Transport Layer Security (TLS), anteriormente conhecido como Secure Sockets Layer (SSL). O TLS é necessário para a comunicação entre o IIS e todos os assinantes.

  3. Configure a autenticação do IIS.

  4. Configure uma conta e defina permissões para o SQL Server Replication Listener.

Instalar o SQL Server Replication Listener

A sincronização da Web é suportada no IIS, começando com a 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.

Observação

Para usar o componente de sincronização da Web no servidor IIS no SQL Server 2012 (11.x) e versões posteriores, você deve instalar o SQL Server com replicação. Isso inclui a edição gratuita do SQL Server Express.

Instalar e configurar o SQL Server Replication Listener

  1. Instale a replicação do SQL Server no computador IIS.

  2. Crie um novo diretório de arquivo para replisapi.dll no computador que está executando o IIS. Você pode criar o diretório onde quiser, mas recomendamos que você crie o diretório sob o < diretório drive>:\Inetpub. Por exemplo, crie o diretório <drive>:\Inetpub\SQLReplication\.

  3. Copie replisapi.dll do <drive>:\Ficheiros de Programas\Microsoft SQL Server\nnn\COM\ para o diretório que criou na etapa 1.

  4. Registo replisapi.dll:

    1. Selecione Iniciar e, em seguida, selecione Executar. Na caixa Abrir, digite cmd e selecione OK.

    2. No diretório criado na etapa 1, execute o seguinte comando:

      regsvr32 replisapi.dll
      
  5. Crie um novo site para replicação ou use um site existente. Este site será acessado por componentes de replicação durante a sincronização. Os procedimentos neste artigo assumem o site padrão. Para obter mais informações sobre como criar sites, consulte a documentação do IIS

  6. Crie um diretório virtual no IIS. O diretório virtual deve ser criado no site que você criou na etapa 4 e mapeá-lo para o diretório criado na etapa 1. Seja o mais restritivo possível ao atribuir permissões a este diretório. Você deve selecionar pelo menos as permissões Ler e Executar .

    1. No Gerenciador dos Serviços de Informações da Internet (IIS), no painel Conexões , clique com o botão direito do mouse em Site Padrão e selecione Adicionar Diretório Virtual.

    2. Para Alias, digite SQLReplication.

    3. Em Caminho Físico, digite <drive>:\Inetpub\SQLReplication\ e selecione OK.

  7. Configure o IIS para permitir que replisapi.dll seja executado.

    1. No Gerenciador dos Serviços de Informações da Internet (IIS), selecione Site Padrão.

    2. No painel central, selecione Mapeamentos do manipulador.

    3. No painel Ações , selecione Adicionar mapeamento de módulo.

    4. Em Caminho da Solicitação , digite replisapi.dll.

    5. Na lista suspensa Módulo , selecione IsapiModule.

    6. Em Executável, digite <drive>:\Inetpub\SQLReplication\replisapi.dll.

    7. Em Nome, insira Replisapi.

    8. Selecione o botão Restrições de Solicitação , selecione a guia Acesso e, em seguida, selecione Executar.

    9. Selecione OK para fechar a caixa de diálogo Restrições de solicitação e, em seguida, selecione OK novamente para fechar a caixa de diálogo Adicionar mapeamento de módulo . Quando lhe for pedido para permitir a extensão ISAPI, selecione Sim para adicionar a extensão.

    10. Verifique se Replisapi.dll está listado em Mapeamentos do manipulador habilitado . Se estiver na lista Desativado , clique com o botão direito do mouse na entrada Replisapi e selecione Editar permissões de recurso. Marque a caixa Executar e selecione OK.

Configurar a autenticação do IIS

Quando os computadores assinantes se conectam ao IIS, o IIS deve autenticar os assinantes antes que eles possam acessar recursos e processos. A autenticação pode ser aplicada a todo o site ou ao diretório virtual que você criou.

Recomendamos que você use a Autenticação Básica com TLS. TLS é necessário, independentemente do tipo de autenticação que é usado.

Configurando a autenticação do IIS

  1. No Gerenciador dos Serviços de Informações da Internet (IIS), selecione Site Padrão.
  2. No painel central, clique duas vezes em Autenticação.
  3. Clique com o botão direito do rato em Autenticação Anónima e, em seguida, selecione Desativar.
  4. Clique com o botão direito do mouse em Autenticação Básica e escolha Habilitar.

Configurar Secure Sockets Layer

Para configurar o TLS, especifique um certificado a ser usado pelo computador que executa o IIS. A sincronização da Web para replicação de mesclagem oferece suporte ao uso de certificados de servidor, mas não de certificados de cliente. Para configurar o IIS para implantação, você deve primeiro obter um certificado de uma autoridade de certificação (CA). Para obter mais informações sobre certificados, consulte a documentação do IIS.

Depois de instalar o certificado, você deve associá-lo ao site usado pela sincronização da Web. Para desenvolvimento e teste, 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, nos testes de produção e pré-produção, você usaria um certificado emitido por uma autoridade de certificação em vez de um certificado autoassinado.

Importante

Um certificado autoassinado não é recomendado para uma instalação de produção. Os certificados autoassinados não são seguros. Use certificados autoassinados apenas para desenvolvimento e teste.

Para configurar o TLS, execute as seguintes etapas:

  1. Configure o site para exigir TLS e ignorar certificados de cliente.
  2. Obtenha um certificado de uma autoridade de certificação ou crie um certificado autoassinado.
  3. Associe o certificado ao site de replicação.

Exigir segurança SSL para um site

  1. No Gerenciador dos Serviços de Informações da Internet (IIS), expanda o nó do servidor local e selecione o Site Padrão (ou o site de sincronização da Web, se for diferente do site padrão).

  2. No painel central, clique duas vezes em Configurações de SSL.

  3. Marque a opção Exigir SSL . Em Certificados de cliente, verifique se o botão Ignorar está selecionado.

Criar um certificado autoassinado para teste

  1. No Gerenciador dos Serviços de Informações da Internet (IIS), selecione o nó do servidor local e, no painel central, clique duas vezes em Certificados do Servidor.

  2. No painel Ações , selecione Criar Self-Signed Certificado.

  3. Na caixa de diálogo Criar Self-Signed Certificado, digite um nome para o certificado e selecione OK.

Vincular um certificado a um site

  1. No painel Conexões , selecione o Site Padrão (ou o site de sincronização da Web, se for diferente do site padrão).

  2. No painel Ações , selecione Ligações e, em seguida, selecione Adicionar. A caixa de diálogo Adicionar Vinculação de Site é exibida.

  3. Na lista suspensa Tipo , selecione https. Deixe as configurações padrão para endereço IP e Porta.

  4. Na lista suspensa Certificado SSL , selecione o certificado criado em "Para criar um certificado autoassinado para teste", selecione OK e selecione Fechar.

Testar o certificado

  1. No Gerenciador dos Serviços de Informações da Internet (IIS), selecione Site Padrão.

  2. No painel Ações , selecione Procurar *:443(https).

  3. O Internet Explorer é aberto e exibe uma mensagem informando que "Há um problema com o certificado de segurança deste site". Esse aviso informa que o certificado associado não é emitido por uma autoridade de certificação reconhecida e pode não ser confiável. Este é um aviso esperado, portanto, selecione Continuar para este site (não recomendado).

  4. Se lhe for pedido para Ligar ao localhost, introduza um nome de utilizador e palavra-passe para continuar. Você deve ver a página padrão do site.

Definir permissões para o SQL Server Replication Listener

Quando um computador assinante se conecta ao computador que executa o IIS, o assinante é autenticado usando o tipo de autenticação especificado quando você configurou o IIS. Depois que o IIS autentica o assinante, o IIS verifica se o assinante está autorizado a invocar a replicação do SQL Server. Você controla os usuários que podem invocar a replicação do SQL Server definindo permissões para replisapi.dll. É necessário configurar corretamente as permissões para impedir o acesso não autorizado à replicação do SQL Server.

Para configurar as permissões mínimas para a conta na qual o SQL Server Replication Listener é executado, conclua o procedimento a seguir. As etapas no procedimento a seguir se aplicam ao Windows Server 2008 que executa o IIS 7.0.

Além de executar as etapas a seguir, verifique se os logins necessários estão na lista de acesso à publicação (PAL). Para obter mais informações sobre o PAL, consulte Secure the Publisher.

Importante

A conta criada nesta seção é a conta que se conecta ao Editor e ao Distribuidor durante a sincronização. Essa conta deve ser adicionada como uma conta de Logon SQL no servidor de distribuição e publicação.

A conta usada para o SQL Server Replication Listener deve ter permissões conforme descrito na seção "Conectar-se ao Publicador ou Distribuidor", no artigo Segurança do Merge Agent .

Em resumo, a conta deve:

  • Ser membro da Lista de Acesso à Publicação (PAL).
  • Ser mapeado para um login associado a um usuário no banco de dados de publicação.
  • Ser mapeado para um login associado a um usuário no banco de dados de distribuição.
  • Tenha permissões de leitura na partilha de instantâneo.

Configurar a conta e as permissões

  1. Crie uma conta local no computador que executa o IIS:

    1. Abra Gerenciador do Servidor. No menu Iniciar, clique com o botão direito do mouse em Computador e selecione Gerenciar.

    2. No Gerenciador do Servidor, expanda Configuração e, em seguida, expanda Usuários e Grupos Locais.

    3. Clique com botão direito do rato em Utilizadores e, em seguida, selecione Novo utilizador.

    4. Introduza um nome de utilizador e uma palavra-passe forte. Limpar O usuário deve alterar a senha no próximo logon.

    5. Selecione Criar e, em seguida, selecione Fechar.

  2. Adicione a conta ao grupo IIS_IUSRS:

    1. No Gerenciador do Servidor, expanda Configuração, expanda Usuários e Grupos Locais e selecione Grupos.

    2. Clique com o botão direito do rato em IIS_IUSRS e, em seguida, selecione Adicionar ao Grupo.

    3. Na caixa de diálogo Propriedades do IIS_IUSRS , selecione Adicionar.

    4. Na caixa de diálogo Selecionar Usuários, Computadores ou Grupos , adicione a conta criada na etapa 1.

    5. Verifique se a partir deste local exibe o nome do computador local (não um domínio). Se este campo não apresentar o nome do computador local, selecione Localizações. Na caixa de diálogo Locais, selecione o computador local e, em seguida, selecione OK.

    6. Na caixa de diálogo Selecionar usuários e na caixa de diálogo Propriedades de IIS_IUSRS, selecione OK.

  3. Conceda permissões mínimas de conta na pasta que contém replisapi.dll:

    1. No Explorador do Windows, clique com o botão direito do rato na pasta que criou para replisapi.dlle, em seguida, selecione Propriedades.

    2. Na guia Segurança , selecione Editar.

    3. Na caixa de diálogo Permissões para <nome> da pasta, selecione Adicionar para adicionar a conta que você criou na etapa 1.

    4. Verifique se a partir deste local exibe o nome do computador local (não um domínio). Se este campo não apresentar o nome do computador local, selecione Localizações. Na caixa de diálogo Locais, selecione o computador local e, em seguida, selecione OK.

    5. Verifique se a conta recebeu apenas as permissões Ler, Ler & Executar e Listar Conteúdo da Pasta .

    6. Selecione quaisquer utilizadores ou grupos que não necessitem de acesso ao diretório, selecione Remover e, em seguida, selecione OK.

  4. Crie um pool de aplicativos no Gerenciador dos Serviços de Informações da Internet (IIS):

    1. No Gestor de Serviços de Informação da Internet (IIS), no painel Ligações, expanda o nó do servidor local.

    2. Clique com o botão direito do mouse em Pools de Aplicativos e selecione Adicionar Pool de Aplicativos.

    3. Insira um nome para o pool de aplicativos, deixe os valores padrão para os campos restantes e selecione OK.

    Se você prevê ter mais de dois clientes de sincronização simultâneos, convém criar um jardim da Web. Para obter mais informações, consulte Criando um Web Garden.

  5. Associe a conta ao pool de aplicativos:

    1. No Gerenciador dos Serviços de Informações da Internet (IIS), expanda o nó do servidor local e selecione Pools de Aplicativos.

    2. Clique com o botão direito do mouse no pool de aplicativos que você criou e selecione Definir Padrões do Pool de Aplicativos.

    3. Na caixa de diálogo Padrões do Pool de Aplicativos , role para baixo até a seção Modelo de Processo e selecione o campo Identidade .

    4. Selecione o botão de reticências no lado direito da linha Identidade .

    5. Selecione o botão de opção Conta personalizada e, em seguida, selecione Definir.

    6. Nos campos Nome de utilizador e Palavra-passe, introduza a conta e a palavra-passe que foram criadas no passo 1 e, em seguida, selecione OK.

    7. Selecione OK para fechar a caixa de diálogo Identidade do Pool de Aplicativos e selecione OK novamente para fechar a caixa de diálogo Padrões do Pool de Aplicativos .

  6. Associe o pool de aplicativos ao site de replicação:

    1. No Gerenciador dos Serviços de Informações da Internet (IIS), expanda o nó do servidor local e selecione o Site Padrão (ou o site de sincronização da Web, se for diferente do site padrão).

    2. No painel Ações , em Gerenciar Site, selecione Configurações Avançadas.

    3. Na caixa de diálogo Configurações Avançadas , selecione o botão de reticências à direita do Pool de Aplicativos.

    4. Na lista suspensa Pool de Aplicações, selecione o pool de aplicações que criou na etapa 4 e, em seguida, selecione OK.

    5. Selecione OK novamente para fechar Configurações avançadas.

Teste a conexão com replisapi.dll

Execute a sincronização da Web no modo de diagnóstico para testar a conexão com o computador que executa o IIS e para certificar-se de que o certificado TLS/SSL está instalado corretamente. Para executar a sincronização da Web no modo de diagnóstico, você deve ser um administrador no computador que executa o IIS.

  1. Verifique se as configurações de rede local (LAN) no Assinante estão corretas:

    1. No Internet Explorer, no menu Ferramentas , selecione Opções da Internet.

    2. Na guia Conexões , selecione Configurações da LAN.

    3. Se um servidor proxy não for usado na LAN, desmarque Detetar automaticamente configurações e Usar um servidor proxy para sua LAN.

    4. Se um servidor proxy for usado, selecione Usar um servidor proxy para sua LAN e Ignorar servidor proxy para endereços locais e, em seguida, selecione OK.

  2. No sistema do Assinante, no Internet Explorer, conecte-se ao servidor no modo de diagnóstico acrescentando ?diag ao endereço do replisapi.dll. Por exemplo: https://<server.domain.com>/directory/replisapi.dll?diag.

    No exemplo anterior, <server.domain.com> deve ser substituído pelo nome exato Emitido para listado na seção Certificados de servidor no Gerenciador do IIS.

  3. Se o certificado especificado para o IIS não for reconhecido pelo sistema operacional Windows, a caixa de diálogo Alerta de Segurança será exibida. Esse alerta pode ocorrer porque o certificado é um certificado de teste ou o certificado foi emitido por uma autoridade de certificação (CA) que o Windows não reconhece.

    Se essa caixa de diálogo não aparecer, verifique se o certificado do servidor que você está acessando foi adicionado ao armazenamento de certificados no Assinante como um certificado confiável. Para obter mais informações sobre como exportar certificados, consulte a documentação do IIS.

    1. Na caixa de diálogo Alerta de Segurança , selecione Exibir Certificado.

    2. Na caixa de diálogo Certificado , na guia Geral , selecione Instalar Certificado.

    3. Conclua o Assistente para Importação de Certificados, aceitando as predefinições.

    4. Na caixa de diálogo Aviso de Segurança , selecione Sim.

    5. Na caixa de diálogo de confirmação do Assistente para Importação de Certificados, selecione OK.

    6. Feche a caixa de diálogo Certificado .

    7. Na caixa de diálogo Alerta de Segurança , selecione Sim.

    Os certificados são instalados para os usuários. Esse processo deve ser executado para cada usuário que será sincronizado com o IIS.

  4. Na caixa de diálogo Conectar ao <Nome do Servidor> , especifique o logon e a senha que o Merge Agent usará para se conectar ao IIS. Essas credenciais também serão especificadas no Assistente para Nova Assinatura.

  5. Na janela do Internet Explorer chamada Informações de diagnóstico do SQL Websync, verifique se o valor em cada coluna Status na página é SUCCESS.

  6. Verifique se o certificado está instalado corretamente no Assinante:

    1. Feche e reabra o Internet Explorer.

    2. Conecte-se ao servidor no modo de diagnóstico. Se o certificado estiver instalado corretamente, a caixa de diálogo Alerta de Segurança não será exibida. Se a caixa de diálogo for exibida, o Merge Agent falhará 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 armazenamento de certificados no Assinante como um certificado confiável. Para obter mais informações sobre como exportar certificados, consulte a documentação do IIS.