Partager via


Configurer IIS 7 pour la synchronisation web

S'applique à :SQL Server

Les procédures décrites dans cet article vous guident tout au long du processus de configuration manuelle d’Internet Information Services (IIS) version 7 et ultérieure pour la synchronisation Web avec réplication de fusion.

La configuration d’IIS 7 ou version ultérieure est la première des trois étapes nécessaires pour activer la synchronisation web.

L’ensemble du processus de configuration est présenté dans Configurer la synchronisation web.

Assurez-vous que votre application utilise uniquement .NET Framework 2.0 ou versions ultérieures, et que les versions antérieures du .NET Framework ne sont pas installées sur le serveur IIS. Les versions antérieures du .NET Framework peuvent entraîner des erreurs, telles que :

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

Pour utiliser la synchronisation Web, vous devez configurer IIS en effectuant les étapes ci-dessous. Chaque étape est décrite en détail dans cet article.

  1. Installez et configurez l’écouteur de réplication SQL Server sur l’ordinateur exécutant IIS.

  2. Configurez le protocole TLS (Transport Layer Security), anciennement SSL (Secure Sockets Layer). TLS est requis pour les communications entre IIS et tous les Abonnés.

  3. Configurez l'authentification IIS.

  4. Configurez un compte et définissez des autorisations pour le listener de réplication SQL Server.

Installer l’écouteur de réplication SQL Server

La synchronisation web est prise en charge sur IIS à compter de la version 5.0. L’Assistant de Configuration de la synchronisation web des versions 5 et 6 d’IIS n’est pas disponible avec IIS version 7.0 et versions plus récentes.

Remarque

Pour utiliser le composant de synchronisation web sur le serveur IIS dans SQL Server 2012 (11.x) et versions ultérieures, vous devez installer SQL Server avec la réplication. Cela inclut l’édition GRATUITE de SQL Server Express.

Installer et configurer le listener de réplication SQL Server

  1. Installez la réplication SQL Server sur l’ordinateur IIS.

  2. Créez un nouveau répertoire de fichiers pour replisapi.dll sur l'ordinateur exécutant IIS. Vous pouvez créer le répertoire où vous le souhaitez, mais nous vous recommandons de le créer sous le répertoire <drive>:\Inetpub. Par exemple, créez le répertoire <disque>:\Inetpub\SQLReplication\.

  3. Copiez replisapi.dll à partir du répertoire <lecteur>:\Program Files\Microsoft SQL Server\nnn\COM\ vers le répertoire de fichiers que vous avez créé à l’étape 1.

  4. Inscrivez replisapi.dll :

    1. Sélectionnez Démarrer, puis Exécuter. Dans la zone Ouvrir , entrez cmd, puis sélectionnez OK.

    2. Dans le répertoire créé à l'étape 1, exécutez la commande suivante :

      regsvr32 replisapi.dll
      
  5. Créez un nouveau site Web pour la réplication ou bien utilisez un site Web existant. Les composants de la réplication accèdent à ce site Web au cours de la synchronisation. Les procédures décrites dans cet article supposent le site web par défaut. Pour plus d'informations sur la création de sites Web, consultez la documentation d'IIS.

  6. Créez un répertoire virtuel dans IIS. Le répertoire virtuel doit être créé sous le site Web créé à l'étape 4 et doit être mappé au répertoire créé à l'étape 1. Soyez aussi restrictif que possible lors de l'attribution des autorisations sur ce répertoire. Vous devez sélectionner au moins les autorisations Lire et Exécuter .

    1. Dans le Gestionnaire des services Internet (IIS), dans le volet Connexions , cliquez avec le bouton droit sur Site Web par défaut, puis sélectionnez Ajouter un répertoire virtuel.

    2. Pour Alias, entrez SQLReplication.

    3. Pour chemin d’accès physique, entrez <drive> :\Inetpub\SQLReplication\, puis sélectionnez OK.

  7. Configurez IIS pour permettre à replisapi.dll de s'exécuter.

    1. Dans le Gestionnaire des services Internet (IIS), sélectionnez Site web par défaut.

    2. Dans le volet central, sélectionnez Mappages de gestionnaire.

    3. Dans le volet Actions , sélectionnez Ajouter un mappage de module.

    4. Pour le chemin d’accès Requête, entrez replisapi.dll.

    5. Dans la liste déroulante Module , sélectionnez IsapiModule.

    6. Dans le champ Exécutable, entrez <drive>:\Inetpub\SQLReplication\replisapi.dll.

    7. Dans le champ nom, entrez Replisapi.

    8. Sélectionnez le bouton Restrictions de demande , sélectionnez l’onglet Accès , puis exécutez.

    9. Sélectionnez OK pour fermer la boîte de dialogue Restrictions de demande , puis sélectionnez OK pour fermer la boîte de dialogue Ajouter un mappage de module . Lorsque vous êtes invité à autoriser l’extension ISAPI, sélectionnez Oui pour ajouter l’extension.

    10. Vérifiez que Replisapi.dll apparaît sous les mappages de gestionnaire Activé. S’il se trouve dans la liste Désactivée , cliquez avec le bouton droit sur l’entrée Replisapi, puis sélectionnez Modifier les autorisations de fonctionnalité. Cochez la case Exécuter , puis sélectionnez OK.

Configurer l’authentification IIS

Quand des ordinateurs d'abonnés se connectent à IIS, IIS doit authentifier les abonnés avant qu'ils puissent accéder aux ressources et aux processus. L'authentification peut être appliquée au site Web tout entier ou au répertoire virtuel que vous avez créé.

Nous vous recommandons d'utiliser l'authentification de base avec TLS. TLS est nécessaire quel que soit le type d'authentification utilisé.

Configuration de l’authentification IIS

  1. Dans le Gestionnaire des services Internet (IIS), sélectionnez Site web par défaut.
  2. Dans le volet central, double-cliquez sur Authentification.
  3. Cliquez avec le bouton droit sur Authentification anonyme, puis choisissez Désactiver.
  4. Cliquez avec le bouton droit sur Authentification de base, puis choisissez Activer.

Configurer Secure Sockets Layer

Pour configurer TLS, spécifiez un certificat à utiliser par l'ordinateur exécutant IIS. La synchronisation Web pour la réplication de fusion prend en charge l'utilisation des certificats de serveur, mais pas celle des certificats clients. Pour configurer IIS pour le déploiement, vous devez d'abord obtenir un certificat auprès d'une Autorité de certification. Pour plus d'informations sur les certificats, consultez la documentation de IIS.

Après avoir installé le certificat, vous devez l'associer au site Web utilisé par la synchronisation Web. Pour le développement et les tests, vous pouvez spécifier un certificat auto-signé. IIS 7 peut créer un certificat automatiquement et l'enregistrer sur votre ordinateur.

La différence entre le déploiement pour la production et les procédures fournies ici est que dans les tests de production et de préproduction, vous utiliseriez un certificat émis par une autorité de certification au lieu d’un certificat auto-signé.

Important

Un certificat auto-signé n’est pas recommandé pour une installation de production. Les certificats auto-signés ne sont pas sécurisés. Utilisez des certificats auto-signés uniquement à des fins de développement et de test.

Pour configurer TLS, procédez comme suit :

  1. Configurez le site Web de manière à ce qu'il exige TLS et ignore les certificats client.
  2. Obtenez un certificat auprès d'une autorité de certification ou créez un certificat auto-signé.
  3. Liez le certificat au site Web de réplication.

Exiger une sécurité SSL pour un site web

  1. Dans le Gestionnaire iis (Internet Information Services), développez le nœud de serveur local, puis sélectionnez le site web par défaut (ou votre site de synchronisation web s’il est différent du site web par défaut).

  2. Dans le volet central, double-cliquez sur Paramètres SSL.

  3. Activez l'option Exiger SSL . Sous Certificats clients, vérifiez que le bouton Ignorer est sélectionné.

Créer un certificat auto-signé à des fins de test

  1. Dans le Gestionnaire des services Internet (IIS), sélectionnez le nœud de serveur local, puis, dans le volet central, double-cliquez sur Certificats de serveur.

  2. Dans le volet Actions , sélectionnez Créer Self-Signed certificat.

  3. Dans la boîte de dialogue Créer Self-Signed certificat , entrez un nom pour le certificat, puis sélectionnez OK.

Lier un certificat à un site web

  1. Dans le volet Connexions , sélectionnez le site web par défaut (ou votre site de synchronisation web, s’il est différent du site web par défaut).

  2. Dans le volet Actions , sélectionnez Liaisons, puis Ajouter. La boîte de dialogue Ajouter la liaison de Site s’affiche.

  3. Dans la liste déroulante Type , sélectionnez https. Laissez les paramètres par défaut pour Adresse IP et Port.

  4. Dans la liste déroulante des certificats SSL , sélectionnez le certificat créé dans « Pour créer un certificat auto-signé à des fins de test », sélectionnez OK, puis sélectionnez Fermer.

Tester le certificat

  1. Dans le Gestionnaire des services Internet (IIS), sélectionnez Site web par défaut.

  2. Dans le volet Actions , sélectionnez Parcourir * :443(https).

  3. Internet Explorer s’ouvre et affiche un message indiquant qu’il existe un problème avec le certificat de sécurité de ce site web. Cet avertissement vous indique que le certificat associé n’est pas émis par une autorité de certification reconnue et peut ne pas être fiable. Il s’agit d’un avertissement attendu. Sélectionnez Continuer vers ce site web (non recommandé).

  4. Si vous êtes invité à vous connecter à localhost, entrez un nom d’utilisateur et un mot de passe pour continuer. La page par défaut du site Web doit s'afficher.

Définir des autorisations pour le Listener de réplication de SQL Server

Lorsque l'ordinateur d'un abonné se connecte à l'ordinateur exécutant IIS, l'abonné est authentifié à l'aide du type d'authentification spécifié lors de la configuration d'IIS. Après avoir authentifié l'abonné, IIS vérifie que l'abonné est autorisé à appeler la réplication SQL Server. Vous contrôlez les utilisateurs en mesure d'appeler la réplication SQL Server en définissant des autorisations pour replisapi.dll. La configuration correcte des autorisations est cruciale pour empêcher les accès non autorisés à la réplication SQL Server.

Pour configurer les autorisations minimales du compte sous lequel est exécuté l'écouteur de réplication SQL Server, suivez la procédure ci-dessous. Les étapes décrites dans la procédure suivante s’appliquent à Windows Server 2008 exécutant IIS 7.0.

En plus de suivre les étapes ci-dessous, vérifiez que les noms de connexion requis se trouvent dans la liste d'accès à la publication (PAL, Publication Access List). Pour plus d'informations sur le PAL, consultez Sécuriser l'éditeur.

Important

Le compte créé dans cette section est le compte qui se connecte au serveur de publication et au serveur de distribution pendant la synchronisation. Ce compte doit être ajouté comme compte de connexion SQL sur le serveur de distribution et le serveur de publication.

Le compte utilisé pour l’écouteur de réplication SQL Server doit disposer des autorisations décrites dans la section « Se connecter au serveur de publication ou au serveur de distribution », dans l’article Fusionner l’agent de sécurité.

En résumé, le compte doit :

  • être membre de la liste d'accès à la publication (PAL) ;
  • Être mappé à une connexion associée à un utilisateur enregistré dans la base de données de publication.
  • Être mappé à une connexion associée à un utilisateur enregistré dans la base de données de distribution.
  • Avoir les droits de lecture sur le partage instantané.

Configurer le compte et les autorisations

  1. Créez un compte local sur l'ordinateur exécutant IIS :

    1. Ouvrez Gestionnaire de serveur. Dans le menu Démarrer, cliquez avec le bouton droit sur Ordinateur, puis sélectionnez Gérer.

    2. Dans Gestionnaire de serveur, développez Configuration, puis développez Utilisateurs et groupes locaux.

    3. Cliquez avec le bouton droit sur Utilisateurs, puis sélectionnez Nouvel utilisateur.

    4. Entrez un nom d'utilisateur et un mot de passe fort. Désactivez L'utilisateur doit changer le mot de passe à la prochaine ouverture de session.

    5. Sélectionnez Créer, puis sélectionnez Fermer.

  2. Ajoutez le compte au groupe IIS_IUSRS :

    1. Dans le Gestionnaire de serveur, développez Configuration, développez Utilisateurs et groupes locaux, puis sélectionnez Groupes.

    2. Cliquez avec le bouton droit sur IIS_IUSRS, puis sélectionnez Ajouter au groupe.

    3. Dans la boîte de dialogue IIS_IUSRS Propriétés , sélectionnez Ajouter.

    4. Dans la boîte de dialogue Choisir des utilisateurs, des ordinateurs ou des groupes , ajoutez le compte créé à l'étape 1.

    5. Vérifiez que À partir de cet emplacement indique le nom de l'ordinateur local (et non un domaine). Si ce champ n’affiche pas le nom de l’ordinateur local, sélectionnez Emplacements. Dans la boîte de dialogue Emplacements , sélectionnez l’ordinateur local, puis sélectionnez OK.

    6. Dans la boîte de dialogue Sélectionner les utilisateurs et la boîte de dialogue Propriétés IIS_IUSRS , sélectionnez OK.

  3. Attribuez des autorisations de compte minimales sur le dossier qui contient replisapi.dll :

    1. Dans l’Explorateur Windows, cliquez avec le bouton droit sur le dossier que vous avez créé pour replisapi.dll, puis sélectionnez Propriétés.

    2. Sous l’onglet Sécurité , sélectionnez Modifier.

    3. Dans la boîte de dialogue Autorisations pour <le nom> de dossier, sélectionnez Ajouter pour ajouter le compte que vous avez créé à l’étape 1.

    4. Vérifiez que À partir de cet emplacement indique le nom de l'ordinateur local (et non un domaine). Si ce champ n’affiche pas le nom de l’ordinateur local, sélectionnez Emplacements. Dans la boîte de dialogue Emplacements , sélectionnez l’ordinateur local, puis sélectionnez OK.

    5. Vérifiez que le compte dispose uniquement des autorisations Lecture, Lecture et exécution et Affichage du contenu du dossier.

    6. Sélectionnez les utilisateurs ou groupes qui n’ont pas besoin d’accéder au répertoire, sélectionnez Supprimer, puis sélectionnez OK.

  4. Créez un pool d'applications dans Gestionnaire des services Internet (IIS):

    1. Dans Gestionnaire des services Internet (IIS), dans le volet Connexions développez le nœud de serveur local.

    2. Cliquez avec le bouton droit sur Pools d’applications, puis sélectionnez Ajouter un pool d’applications.

    3. Entrez un nom pour le pool d’applications, laissez les valeurs par défaut pour les champs restants, puis sélectionnez OK.

    Si vous prévoyez d'avoir plus de deux clients de synchronisation simultanés, vous pourriez envisager de créer un jardin web. Pour plus d’informations, consultez Création d’un jardin web.

  5. Associez le compte au pool d'applications :

    1. Dans le Gestionnaire iis (Internet Information Services), développez le nœud de serveur local, puis sélectionnez Pools d’applications.

    2. Cliquez avec le bouton droit sur le pool d’applications que vous avez créé, puis sélectionnez Définir les valeurs par défaut du pool d’applications.

    3. Dans la boîte de dialogue Paramètres par défaut du pool d’applications, faites défiler jusqu’à la section Modèle de processus , puis sélectionnez le champ Identité .

    4. Sélectionnez le bouton des points de suspension à droite de la ligne Identité.

    5. Sélectionnez la case d’option Compte personnalisé , puis sélectionnez Définir.

    6. Dans les champs Nom d’utilisateur et Mot de passe , entrez le compte et le mot de passe créés à l’étape 1, puis sélectionnez OK.

    7. Sélectionnez OK pour fermer la boîte de dialogue Identité du pool d’applications, puis sélectionnez OK pour fermer la boîte de dialogue Paramètres par défaut du pool d’applications .

  6. Associez le pool d'applications au site Web de réplication :

    1. Dans le Gestionnaire iis (Internet Information Services), développez le nœud de serveur local, puis sélectionnez le site web par défaut (ou votre site de synchronisation web s’il est différent du site web par défaut).

    2. Dans le volet Actions , sous Gérer le site web, sélectionnez Paramètres avancés.

    3. Dans la boîte de dialogue Paramètres avancés, sélectionnez le bouton de points de suspension à droite de Application Pool.

    4. Dans la liste déroulante Pool d’applications , sélectionnez le pool d’applications que vous avez créé à l’étape 4, puis sélectionnez OK.

    5. Sélectionnez OK à nouveau pour fermer les paramètres avancés.

Tester la connexion à replisapi.dll

Exécutez la synchronisation Web en mode de diagnostic pour tester la connexion à l'ordinateur exécutant IIS et pour vérifier que le certificat TLS/SSL est correctement installé. Pour exécuter la synchronisation Web en mode de diagnostic, vous devez avoir la qualité d'administrateur sur l'ordinateur qui exécute les services Internet (IIS).

  1. Vérifiez que les paramètres du réseau local (LAN) sur l'Abonné sont corrects :

    1. Dans Internet Explorer, dans le menu Outils , sélectionnez Options Internet.

    2. Sous l’onglet Connexions , sélectionnez Paramètres réseau local.

    3. Si un serveur proxy n’est pas utilisé sur le réseau local, désactivez automatiquement détecter les paramètres et utiliser un serveur proxy pour votre réseau local.

    4. Si un serveur proxy est utilisé, sélectionnez Utiliser un serveur proxy pour votre réseau local et ignorer le serveur proxy pour les adresses locales, puis sélectionnez OK.

  2. Sur l’abonné, dans Internet Explorer, connectez-vous au serveur en mode de diagnostic en ajoutant ?diag à l’adresse pour le fichier replisapi.dll. Par exemple : https://<server.domain.com>/directory/replisapi.dll?diag.

    Dans l’exemple précédent, <server.domain.com> doit être remplacé par le nom émis exact répertorié dans la section Certificats de serveur dans le Gestionnaire IIS.

  3. Si le certificat que vous avez spécifié pour IIS n’est pas reconnu par le système d’exploitation Windows, la boîte de dialogue Alerte de sécurité s’affiche. Cette alerte peut se produire, car le certificat est un certificat de test ou que le certificat a été émis par une autorité de certification que Windows ne reconnaît pas.

    Si cette boîte de dialogue n’apparaît pas, vérifiez que le certificat du serveur auquel vous accédez a été ajouté au magasin de certificats sur l’Abonné en tant que certificat approuvé. Pour plus d'informations sur l'exportation de certificats, consultez la documentation d'IIS.

    1. Dans la boîte de dialogue Alerte de sécurité , sélectionnez Afficher le certificat.

    2. Dans la boîte de dialogue Certificat , sous l’onglet Général , sélectionnez Installer le certificat.

    3. Terminez l’Assistant Importation de certificat, en acceptant les valeurs par défaut.

    4. Dans la boîte de dialogue Avertissement de sécurité , sélectionnez Oui.

    5. Dans la boîte de dialogue de confirmation de l’Assistant Importation de certificat, sélectionnez OK.

    6. Fermez la boîte de dialogue Certificat .

    7. Dans la boîte de dialogue Alerte de sécurité , sélectionnez Oui.

    Les certificats sont installés pour les utilisateurs. Ce processus doit être effectué pour chaque utilisateur qui réalisera des synchronisations avec IIS.

  4. Dans la boîte de dialogue Se connecter à <ServerName>, spécifiez l’ID de connexion et le mot de passe que l’Agent de fusion utilisera pour se connecter à IIS. Ces informations d’identification seront aussi spécifiées dans l’Assistant Nouvel abonnement.

  5. Dans la fenêtre Internet Explorer appelée informations de diagnostic SQL Websync, vérifiez que la valeur de chaque colonne État de la page est SUCCESS.

  6. Vérifiez que le certificat est installé correctement sur l'Abonné :

    1. Fermez, puis rouvrez Internet Explorer.

    2. Connectez-vous au serveur en mode de diagnostic. Si le certificat est installé correctement, la boîte de dialogue Alerte de sécurité n’apparaît pas. Si la boîte de dialogue s’affiche, l’Agent de fusion échoue lorsqu’il tente de se connecter à l’ordinateur exécutant IIS. Vous devez vous assurer que le certificat du serveur auquel vous accédez a été ajouté au magasin de certificats sur l’Abonné en tant que certificat approuvé. Pour plus d'informations sur l'exportation de certificats, consultez la documentation d'IIS.