Configurer IIS 7 pour la synchronisation web
S'applique à : SQL Server
Les procédures décrites dans cette rubrique vous guident dans le processus de configuration manuelle des services IIS (Microsoft Internet Information Services) version 7 et ultérieures pour une utilisation avec la synchronisation web en vue de la 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.
Important
Assurez-vous que votre application utilise uniquement .NET Framework 2.0 ou une version ultérieure et qu'aucune version antérieure de .NET Framework n'est installée sur le serveur IIS. Les versions antérieures du .NET Framework risquent de provoquer des erreurs, telles que : « Le format d'un message pendant la synchronisation Web n'était pas valide. Vérifiez que les composants de réplication sont correctement configurés sur le serveur Web ».
Pour utiliser la synchronisation Web, vous devez configurer IIS en effectuant les étapes ci-dessous. Chaque étape est détaillée dans cette rubrique.
Installez et configurez l’écouteur de Réplication Microsoft SQL Server sur l’ordinateur qui exécute IIS.
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.
Configurez l'authentification IIS.
Configurez un compte et définissez des autorisations pour l'écouteur de Réplication SQL Server .
Installation de l'écouteur de réplication SQL Server
La synchronisation web est prise en charge sur IIS à compter de la version 5.0. L’Assistant Configuration de la synchronisation Web d’IIS versions 5 et 6 n’est pas disponible avec IIS version 7.0 et ultérieures. À partir de SQL Server 2012, pour utiliser le composant de synchronisation web sur le serveur IIS, vous devez installer SQL Server avec la réplication. Il peut s’agir de l’édition gratuite de SQL Server Express.
Pour installer et configurer l'écouteur de réplication SQL Server
Installez la réplication SQL Server sur l’ordinateur IIS.
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 <lecteur>:\Inetpub\SQLReplication\.
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.
Inscrivez replisapi.dll :
Cliquez sur Démarrer, puis sur Exécuter. Dans la zone Ouvrir , entrez cmd, puis cliquez sur OK.
Dans le répertoire créé à l'étape 1, exécutez la commande suivante :
regsvr32 replisapi.dll
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 cette rubrique utilisent le site Web par défaut. Pour plus d'informations sur la création de sites Web, consultez la documentation d'IIS.
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 .
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.
Dans le champ Alias, entrez SQLReplication.
Pour Chemin d’accès physique, entrez <lecteur>:\Inetpub\SQLReplication\, puis cliquez sur OK.
Configurez IIS pour permettre à replisapi.dll de s'exécuter.
Dans le Gestionnaire des services Internet (IIS), cliquez sur Site Web par défaut.
Dans le volet central, cliquez sur Mappages de gestionnaire.
Dans le volet Actions , cliquez sur Ajouter un mappage de modules.
Pour le chemin d’accès Requête , entrez replisapi.dll.
Dans la liste déroulante Module , sélectionnez IsapiModule.
Pour Exécutable, entrez <lecteur>:\Inetpub\SQLReplication\replisapi.dll.
Dans le champ nom, entrez Replisapi.
Cliquez sur le bouton Restrictions des demandes , cliquez sur l'onglet Accès , puis sur Exécuter.
Cliquez sur OK pour fermer la boîte de dialogue Restrictions des demandes , puis cliquez à nouveau sur OK pour fermer la boîte de dialogue Ajouter un mappage de modules . Lorsque vous êtes invité à autoriser l'extension ISAPI, cliquez sur Oui pour ajouter l'extension.
Vérifiez que Replisapi.dll apparaît sous les mappages de gestionnaire Activé . S'il est dans la liste Désactivé , cliquez avec le bouton droit sur l'entrée Replisapi, puis cliquez sur Modifier les autorisations de fonction. Activez la case à cocher Exécuter , puis cliquez sur OK.
Configuration de 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é.
Pour configurer l'authentification IIS
Dans le Gestionnaire des services Internet (IIS), cliquez sur Site Web par défaut.
Dans le volet central, double-cliquez sur Authentification.
Cliquez avec le bouton droit sur Authentification anonyme, puis choisissez Désactiver.
Cliquez avec le bouton droit sur Authentification de base, puis choisissez Activer.
Configuration de SSL (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 un déploiement pour la production et les procédures indiquées ici est que dans le cadre de tests de production et de préproduction, vous utiliseriez un certificat délivré 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, vous devez effectuer les étapes suivantes :
Configurez le site Web de manière à ce qu'il exige TLS et ignore les certificats client.
Obtenez un certificat auprès d'une autorité de certification ou créez un certificat auto-signé.
Liez le certificat au site Web de réplication.
Pour exiger la sécurité SSL pour un site Web
Dans Gestionnaire des services Internet (IIS), développez le nœud de serveur local, puis cliquez sur le Site Web par défaut (ou votre site de synchronisation Web s'il est différent du site Web par défaut).
Dans le volet central, double-cliquez sur Paramètres SSL.
Activez l'option Exiger SSL . Sous Certificats clients, vérifiez que le bouton Ignorer est sélectionné.
Pour créer un certificat auto-signé à des fins de test
Dans Gestionnaire des services Internet (IIS), cliquez sur le nœud de serveur local, puis dans le volet central, double-cliquez sur Certificats de serveur.
Dans le volet Actions , cliquez sur Créer un certificat auto-signé.
Dans la boîte de dialogue Créer un certificat auto-signé , entrez un nom pour le certificat, puis cliquez sur OK.
Pour lier un certificat à un site Web
Dans le volet Connexions , cliquez sur Site Web par défaut (ou votre site de synchronisation Web, s'il est différent du site Web par défaut).
Dans le volet Actions , cliquez sur Liaisons, puis sur Ajouter. La boîte de dialogue Ajouter la liaison de site s'affiche.
Dans la liste déroulante Type , sélectionnez https. Laissez les paramètres par défaut pour Adresse IP et Port.
Dans la liste déroulante Certificat SSL , sélectionnez le certificat créé dans « Pour créer un certificat auto-signé à des fins de test », cliquez sur OK, puis sur Fermer.
Pour tester le certificat
Dans le Gestionnaire des services Internet (IIS), cliquez sur Site Web par défaut.
Dans le volet Actions, cliquez sur Parcourir *:443(https).
Internet Explorer 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’a pas été émis par une autorité de certification reconnue et peut ne pas être fiable. Cet avertissement est attendu, donc cliquez sur Poursuivre sur ce site Web (non recommandé).
Si vous êtes invité à Se 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éfinition des autorisations pour l'écouteur de réplication 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 dans la procédure suivante s'appliquent à Microsoft Windows Server 2008 qui exécute 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 la liste d’accès à la publication, consultez Sécuriser le serveur de publication.
Important
Le compte créé dans cette section est le compte qui se connecte au serveur de publication et au serveur de distribution lors de 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 avoir les autorisations décrites dans la rubrique Sécurité de l'Agent de fusion, dans la section « Se connecter au serveur de publication ou au serveur de distribution ».
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 ;
être autorisé à lire sur le partage de fichiers d'instantanés.
Pour configurer le compte et les autorisations
Créez un compte local sur l'ordinateur exécutant IIS :
Ouvrez Gestionnaire de serveur. Dans le menu Démarrer, cliquez avec le bouton droit sur Poste de travail, puis cliquez sur Gérer.
Dans Gestionnaire de serveur, développez Configuration, puis développez Utilisateurs et groupes locaux.
Cliquez avec le bouton droit sur Utilisateurs, puis cliquez sur Nouvel utilisateur.
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.
Cliquez sur Créer, puis sur Fermer.
Ajoutez le compte au groupe IIS_IUSRS :
Dans Gestionnaire de serveur, développez Configuration, développez Utilisateurs et groupes locaux, puis cliquez sur Groupes.
Cliquez avec le bouton droit sur IIS_IUSRS, puis cliquez sur Ajouter au groupe.
Dans la boîte de dialogue Propriétés de IIS_IUSRS , cliquez sur Ajouter.
Dans la boîte de dialogue Choisir des utilisateurs, des ordinateurs ou des groupes , ajoutez le compte créé à l'étape 1.
Vérifiez que À partir de cet emplacement indique le nom de l'ordinateur local (et non un domaine). Si ce champ n'indique pas le nom de l'ordinateur local, cliquez sur Emplacements. Dans la boîte de dialogue Emplacements , choisissez l'ordinateur local, puis cliquez sur OK.
Dans les boîtes de dialogue Sélectionnez les utilisateurs et Propriétés de IIS_IUSRS , cliquez surOK.
Attribuez des autorisations de compte minimales sur le dossier qui contient replisapi.dll :
Dans Windows Explorer, cliquez avec le bouton droit sur le dossier créé pour replisapi.dll, puis cliquez sur Propriétés.
Sur l'onglet Sécurité , cliquez sur Modifier.
Dans la boîte de dialogue Autorisations pour <foldername>, cliquez sur Ajouter pour ajouter le compte créé à l’étape 1.
Vérifiez que À partir de cet emplacement indique le nom de l'ordinateur local (et non un domaine). Si ce champ n'indique pas le nom de l'ordinateur local, cliquez sur Emplacements. Dans la boîte de dialogue Emplacements , choisissez l'ordinateur local, puis cliquez sur OK.
Vérifiez que le compte dispose uniquement des autorisations Lecture, Lecture et exécution et Affichage du contenu du dossier.
Sélectionnez tous les utilisateurs ou groupes qui ne requièrent pas l'accès au répertoire, cliquez sur Supprimer, puis sur OK.
Créez un pool d'applications dans Gestionnaire des services Internet (IIS):
Dans Gestionnaire des services Internet (IIS), dans le volet Connexions développez le nœud de serveur local.
Cliquez avec le bouton droit sur Pools d'applications, puis cliquez sur Ajouter un pool d'applications.
Entrez un nom pour le pool d'applications, laissez les valeurs par défaut pour les champs restants, puis cliquez sur OK.
Remarque
Si vous prévoyez d'avoir plus de deux clients de synchronisation simultanés, vous pouvez créer un domaine privé Web. Pour plus d’informations, consultez « Création d’un domaine privé web » dans Configurer la synchronisation web.
Associez le compte au pool d'applications :
Dans Gestionnaire des services Internet (IIS), développez le nœud du serveur local, puis cliquez sur le nœud Pools d'applications.
Cliquez avec le bouton droit sur le pool d'applications que vous avez créé, puis cliquez sur Définir les valeurs par défaut des pools d'applications.
Dans la boîte de dialogue Valeurs par défaut du pool d'applications , faites défiler jusqu'à la section Traiter le modèle , puis cliquez sur le champ Identité .
Cliquez sur le bouton de sélection à droite de la ligne Identité .
Cliquez sur la case d'option Compte personnalisé , puis sur Définir.
Dans les champs Nom d'utilisateur et Mot de passe , entrez le compte et le mot de passe créés à l'étape 1, puis cliquez sur OK.
Cliquez sur OK pour fermer la boîte de dialogue Identité du pool d’applications , puis cliquez à nouveau sur OK pour fermer la boîte de dialogue Valeurs par défaut du pool d’applications.
Associez le pool d'applications au site Web de réplication :
Dans Gestionnaire des services Internet (IIS), développez le nœud de serveur local, puis cliquez sur le Site Web par défaut (ou votre site de synchronisation Web s'il est différent du site Web par défaut).
Dans le volet Actions , sous Gérer le site Web, cliquez sur Paramètres avancés.
Dans la boîte de dialogue Paramètres avancés , cliquez sur le bouton de sélection à droite de Pool d'applications.
Dans la liste déroulante Pool d'applications , sélectionnez le pool d'applications créé à l'étape 4, puis cliquez sur OK.
Cliquez à nouveau sur OK pour fermer Paramètres avancés.
Test de 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).
Pour tester la connexion à replisapi.dll
Vérifiez que les paramètres du réseau local (LAN) sur l'Abonné sont corrects :
Dans Microsoft Internet Explorer, dans le menu Outils, cliquez sur Options Internet.
Sur l'onglet Connexions , cliquez sur Paramètres LAN.
S'il n'y a pas de serveur proxy utilisé sur le réseau local, désactivez Détecter automatiquement les paramètres de connexion et Utiliser un serveur proxy pour votre réseau local.
Si un serveur proxy est utilisé, cliquez sur Utiliser un serveur proxy pour votre réseau local et Ne pas utiliser de serveur proxy pour les adresses locales, puis cliquez sur OK.
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
.Remarque
Dans l'exemple ci-dessus, server.domain.com doit être remplacé par le nom exact de Délivré à répertorié sous la section Certificats de serveur dans Gestionnaire des services IIS.
Si le certificat 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 si le certificat est un certificat de test ou si le certificat a été émis par une Autorité de certification non reconnue par Windows.
Remarque
Si cette boîte de dialogue ne s'affiche pas, vérifiez que le certificat pour le 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.
Dans la boîte de dialogue Alerte de sécurité , cliquez sur Afficher le certificat.
Dans la boîte de dialogue Certificat , sur l'onglet Général , cliquez sur Installer le certificat.
Terminez l'Assistant Importation de certificat, en acceptant les valeurs par défaut.
Dans la boîte de dialogue Avertissement de sécurité , cliquez sur Oui.
Dans la boîte de dialogue de confirmation de l'Assistant Importation de certificat, cliquez sur OK.
Fermez la boîte de dialogue Certificat .
Dans la boîte de dialogue Alerte de sécurité , cliquez sur Oui.
Remarque
Les certificats sont installés pour les utilisateurs. Ce processus doit être effectué pour chaque utilisateur qui réalisera des synchronisations avec IIS.
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.
Dans la fenêtre Internet Explorer relative aux informations de diagnostic SQL Websync, vérifiez que la valeur de chaque colonne État de la page est RÉUSSITE.
Vérifiez que le certificat est installé correctement sur l'Abonné :
Fermez, puis rouvrez Internet Explorer.
Connectez-vous au serveur en mode de diagnostic. Si le certificat est installé correctement, la boîte de dialogue Alerte de sécurité ne s'affiche pas. Si cette boîte de dialogue s'affiche, l'Agent de fusion échoue quand il tente de se connecter à l'ordinateur exécutant IIS. Vous devez vérifier que le certificat pour le 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.