Konfigurieren von IIS 7 für die Websynchronisierung
Gilt für: SQL Server
Die Vorgehensweisen in diesem Thema führen Sie durch den Prozess zum manuellen Konfigurieren von Microsoft-Internetinformationsdiensten (IIS) Version 7 oder höher zur Verwendung mit der Websynchronisierung für die Mergereplikation.
Das Konfigurieren von IIS 7 oder höher ist der erste von drei Schritten, die zum Aktivieren der Websynchronisierung erforderlich sind.
Eine Übersicht über den gesamten Konfigurationsprozess finden Sie unter Konfigurieren der Websynchronisierung.
Wichtig
Stellen Sie sicher, dass in Ihrer Anwendung nur .NET Framework 2.0 oder höhere Versionen verwendet werden und dass keine früheren Versionen von .NET Framework auf dem IIS-Server installiert sind. Frühere Versionen von .NET Framework können Fehler verursachen wie: "Das Format einer Meldung war während der Websynchronisierung ungültig. Stellen Sie sicher, dass die Replikationskomponenten auf dem Webserver ordnungsgemäß konfiguriert sind."
Zur Verwendung der Websynchronisierung müssen Sie IIS mithilfe der folgenden Schritte konfigurieren. Jeder Schritt wird in diesem Thema im Detail beschrieben.
Installieren und konfigurieren Sie den Microsoft SQL Server-Replikationslistener auf dem Computer mit IIS.
Konfigurieren Sie Transport Layer Security (TLS), früher als Secure Sockets Layer (SSL) bezeichnet. TLS wird für die Kommunikation zwischen IIS und allen Abonnenten benötigt.
Konfigurieren Sie die IIS-Authentifizierung.
Konfigurieren Sie ein Konto, und legen Sie Berechtigungen für die SQL Server-Replikationsüberwachung fest.
Installieren der SQL Server-Replikationsüberwachung
Die Websynchronisierung wird auf IIS ab Version 5.0 unterstützt. Der Assistent zum Konfigurieren der Websynchronisierung der IIS-Versionen 5 und 6 ist für IIS-Version 7.0 und höher nicht verfügbar. Beginnend mit SQL Server 2012 empfiehlt sich für die Nutzung der Web-Sync-Komponente auf dem IIS-Server die Installation des SQL Servers mit Replikation. Dabei kann es sich um die kostenlose SQL Server Express Edition handeln.
So installieren und konfigurieren Sie die SQL Server-Replikationsüberwachung
Installieren Sie die SQL Server-Replikation auf dem IIS-Computer.
Erstellen Sie ein neues Dateiverzeichnis für die Datei replisapi.dll auf dem Computer mit IIS. Dieses Verzeichnis kann an einem beliebigen Ort erstellt werden, es wird jedoch das Erstellen im Verzeichnis <Laufwerk>:\Inetpub empfohlen. Erstellen Sie beispielsweise das Verzeichnis <Laufwerk>:\Inetpub\SQLReplication\.
Kopieren Sie die Datei replisapi.dll aus dem Verzeichnis <Laufwerk>:\Program Files\Microsoft SQL Server\nnn\com\ in das Dateiverzeichnis, das Sie in Schritt 1 erstellt haben.
Registrieren Sie replisapi.dll:
Klicken Sie im Startmenüauf Ausführen. Geben Sie cmd im Feld Öffnenein, und klicken Sie dann auf OK.
Führen Sie in dem in Schritt 1 erstellten Verzeichnis den folgenden Befehl aus:
regsvr32 replisapi.dll
Erstellen Sie eine neue Website für die Replikation, oder verwenden Sie eine bereits vorhandene Website. Auf diese Website wird während der Synchronisierung von den Replikationskomponenten zugegriffen. Für die Vorgehensweisen in diesem Thema wird von der Standardwebsite ausgegangen. Weitere Informationen zum Erstellen von Websites finden Sie in der IIS-Dokumentation.
Erstellen Sie ein virtuelles Verzeichnis in IIS. Dieses virtuelle Verzeichnis sollte unter der Website angelegt werden, die Sie in Schritt 4 erstellt haben, und es sollte dem in Schritt 1 erstellten Verzeichnis zugeordnet werden. Gehen Sie bei der Zuweisung von Berechtigungen für dieses Verzeichnis möglichst restriktiv vor. Sie müssen mindestens die Berechtigungen Lesen und Ausführen auswählen.
Klicken Sie im Internetinformationsdienste-Managerim Bereich Verbindungen mit der rechten Maustaste auf Standardwebsite, und wählen Sie dann Virtuelles Verzeichnis hinzufügenaus.
Für Aliasgeben Sie SQLReplicationein.
Geben Sie <Laufwerk>:\Inetpub\SQLReplication für Physischer Pfad ein, und klicken Sie dann auf OK.
Konfigurieren Sie IIS für die Ausführung von replisapi.dll.
Klicken Sie im Internetinformationsdienste-Managerauf Standardwebsite.
Klicken Sie im mittleren Bereich auf Handlerzuordnungen.
Klicken Sie im Bereich Aktionen auf Modulzuordnung hinzufügen.
Geben Sie replisapi.dll für Anforderungspfadein.
Wählen Sie in der Dropdownliste Modul die Option IsapiModuleaus.
Geben Sie <Laufwerk>:\Inetpub\SQLReplication\replisapi.dll für Ausführbare Datei ein.
Geben Sie Replisapifür Nameein.
Klicken Sie auf die Schaltfläche Einschränkungen , auf die Registerkarte Zugriff und anschließend auf Ausführen.
Klicken Sie auf OK , um das Dialogfeld Einschränkungen zu schließen, und klicken Sie dann erneut auf OK , um das Dialogfeld Modulzuordnung hinzufügen zu schließen. Wenn Sie aufgefordert werden, die ISAPI-Erweiterung zuzulassen, klicken Sie auf Ja , um die Erweiterung hinzuzufügen.
Überprüfen Sie, ob Replisapi.dll unter den Handlerzuordnungen Aktiviert aufgeführt wird. Befindet sich die Datei in der Liste Deaktiviert , klicken Sie mit der rechten Maustaste auf den Eintrag "Replisapi" und dann auf Funktionsberechtigungen bearbeiten. Aktivieren Sie das Kontrollkästchen Ausführen , und klicken Sie auf OK.
Konfigurieren der IIS-Authentifizierung
Wenn Abonnentencomputer eine Verbindung mit IIS herstellen, muss IIS die Abonnenten authentifizieren, damit sie auf Ressourcen und Prozesse zugreifen können. Die Authentifizierung kann sowohl auf die gesamte Website als auch nur auf das von Ihnen erstellte virtuelle Verzeichnis angewendet werden.
Sie sollten die Standardauthentifizierung mit TLS verwenden. TLS ist in jedem Fall und unabhängig vom verwendeten Authentifizierungstyp erforderlich.
So konfigurieren Sie die IIS-Authentifizierung
Klicken Sie im Internetinformationsdienste-Managerauf Standardwebsite.
Doppelklicken Sie im mittleren Bereich auf Authentifizierung.
Klicken Sie mit der rechten Maustaste auf "Anonyme Authentifizierung", und wählen Sie dann "Deaktivieren" aus.
Klicken Sie mit der rechten Maustaste auf "Standardauthentifizierung", und wählen Sie dann "Aktivieren" aus.
Konfigurieren von SSL (Secure Sockets Layer)
Geben Sie zum Konfigurieren von TLS ein Zertifikat an, das der Computer mit IIS verwenden soll. Die Websynchronisierung für die Mergereplikation unterstützt lediglich Serverzertifikate, nicht aber Clientzertifikate. Zum Konfigurieren von IIS für die Bereitstellung müssen Sie zunächst ein Zertifikat von einer Zertifizierungsstelle erwerben. Weitere Informationen zu Zertifikaten finden Sie in der IIS-Dokumentation.
Nach dem Installieren des Zertifikats müssen Sie dieses Zertifikat der für die Websynchronisierung verwendeten Website zuordnen. Zum Entwickeln und Testen können Sie ein selbstsigniertes Zertifikat angeben. Sie können von IIS 7 ein Zertifikat erstellen und auf dem Computer registrieren lassen.
Der Unterschied zwischen dem Bereitstellen für die Produktion und den hier angeführten Vorgehensweisen besteht darin, dass Sie bei der Produktion und Vorproduktionstests ein von einer Zertifizierungsstelle ausgestelltes Zertifikat statt eines selbstsignierten Zertifikats verwenden würden.
Wichtig
Ein selbstsigniertes Zertifikat wird für eine Produktionsinstallation nicht empfohlen. Selbstsignierte Zertifikate sind nicht sicher. Verwenden Sie selbstsignierte Zertifikate nur zum Entwickeln und Testen.
Führen Sie zum Konfigurieren von TLS die folgenden Schritte aus:
Konfigurieren Sie die Website so, dass sie TLS erfordert und Clientzertifikate ignoriert.
Rufen Sie ein Zertifikat von einer Zertifizierungsstelle ab, oder erstellen Sie ein selbstsigniertes Zertifikat.
Binden Sie das Zertifikat an die Replikationswebsite.
So erfordern Sie SSL-Sicherheit für eine Website
Erweitern Sie im Internetinformationsdienste-Managerden Knoten für den lokalen Server, und klicken Sie dann auf die Standardwebsite (oder die Websynchronisierungswebsite, wenn sie sich von der Standardwebsite unterscheidet).
Doppelklicken Sie im mittleren Bereich auf SSL-Einstellungen.
Aktivieren Sie die Option SSL erforderlich . Überprüfen Sie unter Clientzertifikate, dass die Schaltfläche Ignorieren ausgewählt ist.
So erstellen Sie ein selbstsigniertes Zertifikat für Tests
Klicken Sie im Internetinformationsdienste-Managerauf den Knoten für den lokalen Server, und doppelklicken Sie dann im mittleren Bereich auf Serverzertifikate.
Klicken Sie im Bereich Aktionen auf Selbstsigniertes Zertifikat erstellen.
Geben Sie im Dialogfeld Selbstsigniertes Zertifikat erstellen einen Namen für das Zertifikat ein, und klicken Sie dann auf OK.
So binden Sie ein Zertifikat an eine Website
Klicken Sie im Bereich Verbindungen auf die Standardwebsite (oder die Websynchronisierungswebsite, wenn sie sich von der Standardwebsite unterscheidet).
Klicken Sie im Bereich Aktionen auf Bindungenund dann auf Hinzufügen. Das Dialogfeld Sitebindung hinzufügen wird geöffnet.
Wählen Sie in der Dropdownliste Typ die Option httpsaus. Behalten Sie die Standardeinstellungen für IP-Adresse und Portbei.
Wählen Sie in der Dropdownliste SSL-Zertifikat das unter "So erstellen Sie ein selbstsigniertes Zertifikat für Tests" erstellte Zertifikat, klicken Sie auf OKund dann auf Schließen.
So testen Sie das Zertifikat
Klicken Sie im Internetinformationsdienste-Managerauf Standardwebsite.
Klicken Sie im Bereich Aktionen auf *:443(https) durchsuchen.
Internet Explorer öffnet und zeigt eine Meldung an, dass es ein Problem mit dem Sicherheitszertifikat dieser Website gibt. Diese Warnung teilt Ihnen mit, dass das zugeordnete Zertifikat nicht von einer erkannten Zertifizierungsstelle ausgestellt wurde und möglicherweise nicht vertrauenswürdig ist. Dies ist eine erwartete Warnung, klicken Sie deshalb auf Laden dieser Website fortsetzen (nicht empfohlen).
Wenn die Aufforderung Mit Localhost verbindenangezeigt wird, geben Sie einen Benutzernamen und ein Kennwort ein, um fortzufahren. Die Standardseite für die Website sollte angezeigt werden.
Festlegen von Berechtigungen für die SQL Server-Replikationsüberwachung
Wenn ein Abonnentencomputer eine Verbindung zum Computer mit IIS herstellt, wird der Abonnent mithilfe der Authentifizierungsart authentifiziert, die bei der Konfiguration von IIS angegeben wurde. Nach dem Authentifizieren des Abonnenten durch IIS prüft IIS, ob der Abonnent berechtigt ist, die SQL Server-Replikation aufzurufen. Wer die SQL Server-Replikation aufrufen darf, legen Sie mit den Berechtigungen für replisapi.dll fest. Die ordnungsgemäße Konfiguration der Berechtigungen ist notwendig, damit kein unberechtigter Zugriff auf die SQL Server-Replikation erfolgt.
Führen Sie die folgenden Schritte aus, um die minimalen Berechtigungen für das Konto, unter dem die SQL Server-Replikationsüberwachung ausgeführt wird, zu konfigurieren. Die Schritte in der folgenden Vorgehensweise gelten für Microsoft Windows Server 2008 mit IIS 7.0.
Führen Sie die unten genannten Schritte aus, und stellen Sie zusätzlich sicher, dass die Veröffentlichungszugriffsliste die erforderlichen Anmeldenamen enthält. Weitere Informationen zur PAL finden Sie unter Sichern des Verlegers.
Wichtig
Das in diesem Abschnitt erstellte Konto ist das Konto, das während der Synchronisierung eine Verbindung mit dem Verleger und dem Verteiler herstellt. Dieses Konto muss als SQL-Anmeldekonto auf dem Verteilungs- und Veröffentlichungsserver hinzugefügt werden.
Das für die SQL Server-Replikationsüberwachung verwendete Konto muss über die im Thema "Sicherheit für den Merge-Agent" im Abschnitt "Herstellen einer Verbindung mit dem Verleger oder dem Verteiler" beschriebenen Berechtigungen verfügen.
Zusammengefasst muss das Konto folgende Bedingungen erfüllen:
Es muss Mitglied der Veröffentlichungszugriffsliste (PAL) sein.
Es muss einer mit einem Benutzer in der Veröffentlichungsdatenbank verknüpften Anmeldung zugeordnet sein.
Es muss einer mit einem Benutzer in der Verteilungsdatenbank verknüpften Anmeldung zugeordnet sein.
Es muss über Leseberechtigungen für die Momentaufnahmefreigabe verfügen.
So konfigurieren Sie das Konto und die Berechtigungen
Erstellen Sie ein lokales Konto auf dem Computer mit IIS:
Öffnen Sie Server-Manager. Klicken Sie im Startmenü mit der rechten Maustaste auf Arbeitsplatz, und klicken Sie dann auf Verwalten.
Erweitern Sie in Server-Managerden Knoten Konfiguration, und erweitern Sie dann Lokale Benutzer und Gruppen.
Klicken Sie mit der rechten Maustaste auf Benutzer, und klicken Sie dann auf Neuer Benutzer.
Geben Sie einen Benutzernamen und ein sicheres Kennwort ein. Deaktivieren Sie die Option Benutzer muss Kennwort bei der nächsten Anmeldung ändern.
Klicken Sie auf Erstellenund dann auf Schließen.
Fügen Sie das Konto der IIS_IUSRS-Gruppe hinzu:
Erweitern Sie in Server-Managerden Knoten Konfiguration, erweitern Sie Lokale Benutzer und Gruppen, und klicken Sie dann auf Gruppen.
Klicken Sie mit der rechten Maustaste auf IIS_IUSRS, und klicken Sie dann auf Zur Gruppe hinzufügen.
Klicken Sie im Dialogfeld Eigenschaften von IIS_IUSRS auf Hinzufügen.
Fügen Sie im Dialogfeld Benutzer, Computer oder Gruppen auswählen das in Schritt 1 erstellte Konto hinzu.
Stellen Sie sicher, dass unter Suchpfad der Name des lokalen Computers und nicht eine Domäne angezeigt wird. Wenn der Name des lokalen Computers in diesem Feld nicht anzeigt wird, klicken Sie auf Speicherorte. Wählen Sie im Dialogfeld Speicherorte den lokalen Computer aus, und klicken Sie dann auf OK.
Klicken Sie im Dialogfeldern Benutzer auswählen und Eigenschaften von IIS_IUSRS jeweils aufOK.
Gewähren Sie die mindestens erforderlichen Kontoberechtigungen für den Ordner, der die Datei replisapi.dll enthält:
Klicken Sie in Windows Explorer mit der rechten Maustaste auf den Ordner, den Sie für die Datei replisapi.dll erstellt haben, und klicken Sie dann auf Eigenschaften.
Klicken Sie auf der Registerkarte Sicherheit auf Bearbeiten.
Klicken Sie im Dialogfeld Berechtigungen für <Ordnername> auf Hinzufügen, um das in Schritt 1 erstellte Konto hinzuzufügen.
Stellen Sie sicher, dass unter Suchpfad der Name des lokalen Computers und nicht eine Domäne angezeigt wird. Wenn der Name des lokalen Computers in diesem Feld nicht anzeigt wird, klicken Sie auf Speicherorte. Wählen Sie im Dialogfeld Speicherorte den lokalen Computer aus, und klicken Sie dann auf OK.
Stellen Sie sicher, dass dem Konto nur die Berechtigungen Lesen, Lesen & Ausführen und Ordnerinhalt auflisten erteilt werden.
Wählen Sie alle Benutzer oder Gruppen aus, die keinen Zugriff auf das Verzeichnis benötigen, klicken Sie auf Entfernen, und klicken Sie dann auf OK.
Erstellen Sie im Internetinformationsdienste-Managereinen Anwendungspool:
Erweitern Sie im Internetinformationsdienste-Managerim Bereich Verbindungen den Knoten für den lokalen Server.
Klicken Sie mit der rechten Maustaste auf Anwendungspools, und klicken Sie dann auf Anwendungspool hinzufügen.
Geben Sie einen Namen für den Anwendungspool ein, behalten Sie die Standardwerte für die verbleibenden Felder bei, und klicken Sie dann auf OK.
Hinweis
Wenn Sie mehr als zwei gleichzeitige Synchronisierungsclients erwarten, sollten Sie einen Webgarten erstellen. Weitere Informationen finden Sie unter „Erstellen eines Webgartens“ in Konfigurieren der Websynchronisierung.
Ordnen Sie das Konto dem Anwendungspool zu:
Erweitern Sie im Internetinformationsdienste-Managerden Knoten für den lokalen Server, und klicken Sie dann auf Anwendungspools.
Klicken Sie mit der rechten Maustaste auf den von Ihnen erstellten Anwendungspool, und klicken Sie dann auf Anwendungspoolstandardwerte festlegen.
Führen Sie im Dialogfeld Anwendungspoolstandardwerte einen Bildlauf nach unten zum Abschnitt Prozessmodell durch, und klicken Sie dann auf das Feld Identität .
Klicken Sie auf der rechten Seite der Zeile Identität auf die Schaltfläche mit den Auslassungspunkten.
Klicken Sie auf das Optionsfeld Benutzerdefiniertes Konto und dann auf Festlegen.
Geben Sie in den Feldern Benutzername und Kennwort das Konto und das Kennwort aus Schritt 1 ein, und klicken Sie anschließend auf OK.
Klicken Sie auf OK , um das Dialogfeld Identität des Anwendungspools zu schließen, und klicken Sie dann erneut auf OK , um das Dialogfeld Anwendungspoolstandardwertezu schließen.
Ordnen Sie den Anwendungspool der Replikationswebsite zu:
Erweitern Sie im Internetinformationsdienste-Managerden Knoten für den lokalen Server, und klicken Sie dann auf die Standardwebsite (oder die Websynchronisierungswebsite, wenn sie sich von der Standardwebsite unterscheidet).
Klicken Sie im Bereich Aktionen unter Website verwaltenauf Erweiterte Einstellungen.
Klicken Sie im Dialogfeld Erweiterte Einstellungen rechts von Anwendungspoolauf die Schaltfläche mit den Auslassungspunkten.
Wählen Sie in der Dropdownliste Anwendungspool den Anwendungspool aus Schritt 4 aus, und klicken Sie dann auf OK.
Klicken Sie erneut auf OK , um die erweiterten Einstellungen zu schließen.
Testen der Verbindung mit replisapi.dll
Führen Sie die Websynchronisierung im Diagnosemodus aus, um die Verbindung mit dem Computer mit IIS zu testen und sicherzustellen, dass das TLS/SSL-Zertifikat ordnungsgemäß installiert ist. Wenn Sie die Websynchronisierung im Diagnosemodus ausführen möchten, müssen Sie auf dem Computer mit IIS als Administrator angemeldet sein.
So testen Sie die Verbindung mit replisapi.dll
Stellen Sie sicher, dass die Netzwerkeinstellungen auf dem Abonnenten ordnungsgemäß eingerichtet wurden:
Klicken Sie in Microsoft Internet Explorer im Menü Extras auf Internetoptionen.
Klicken Sie auf der Registerkarte Verbindungen auf Einstellungen.
Wenn im lokalen Netzwerk kein Proxyserver verwendet wird, deaktivieren Sie die Optionen Automatische Suche der Einstellungen und Proxyserver für LAN verwenden.
Wird ein Proxyserver verwendet, klicken Sie auf Proxyserver für LAN verwenden und Proxyserver für lokale Adressen umgehenund dann auf OK.
Stellen Sie auf dem Abonnenten in Internet Explorer eine Verbindung mit dem Server im Diagnosemodus her, indem Sie an die Adresse für replisapi.dll
?diag
anhängen. Beispiel:https://server.domain.com/directory/replisapi.dll?diag
Hinweis
Im oben aufgeführten Beispiel sollte server.domain.com durch den im Abschnitt Serverzertifikate in IIS-Manager aufgeführten genauen Ausgestellt an -Namen ersetzt werden.
Wenn das für IIS angegebene Zertifikat nicht vom Windows-Betriebssystem erkannt wird, wird das Dialogfeld Sicherheitshinweis angezeigt. Dieser Hinweis wird möglicherweise angezeigt, weil das Zertifikat ein Testzertifikat ist oder es von einer Zertifizierungsstelle ausgestellt wurde, die von Windows nicht erkannt wird.
Hinweis
Wenn dieses Dialogfeld nicht angezeigt wird, stellen Sie sicher, dass das Zertifikat für den Server, auf den Sie zugreifen, dem Zertifikatsspeicher auf dem Abonnenten als vertrauenswürdiges Zertifikat hinzugefügt wurde. Weitere Informationen zum Exportieren von Zertifikaten finden Sie in der IIS-Dokumentation.
Klicken Sie im Dialogfeld Sicherheitshinweis auf Zertifikat anzeigen.
Klicken Sie auf der Registerkarte Allgemein des Dialogfelds Zertifikat auf Zertifikat installieren.
Schließen Sie den Zertifikatimport-Assistenten ab, und übernehmen Sie dabei die Standardwerte.
Klicken Sie im Dialogfeld Sicherheitswarnung auf Ja.
Klicken Sie im Bestätigungsdialogfeld des Zertifikatimport-Assistenten auf OK.
Schließen Sie das Dialogfeld Zertifikat .
Klicken Sie im Dialogfeld Sicherheitshinweis auf Ja.
Hinweis
Die Zertifikate werden für die Benutzer installiert. Dieser Prozess muss für jeden Benutzer ausgeführt werden, der mit IIS synchronisiert werden soll.
Geben Sie im Dialogfeld Verbindung mit <ServerName herstellen> den Anmeldenamen und das Kennwort an, den bzw. das der Merge-Agent zum Herstellen der Verbindung mit dem IIS verwenden soll. Diese Anmeldeinformationen werden auch im Assistenten für neue Abonnements angegeben.
Überprüfen Sie im Internet Explorer-Fenster mit Diagnoseinformationen zur SQL-Websynchronisierung, ob der Wert in jeder Status -Spalte der Seite Erfolglautet.
Stellen Sie sicher, dass das Zertifikat ordnungsgemäß auf dem Abonnenten installiert ist:
Schließen Sie Internet Explorer, und öffnen Sie das Programm anschließend erneut.
Stellen Sie eine Verbindung mit dem Server im Diagnosemodus her. Wenn das Zertifikat ordnungsgemäß installiert ist, wird das Dialogfeld Sicherheitshinweis nicht angezeigt. Wenn das Dialogfeld angezeigt wird, ist der Merge-Agent nicht in der Lage, eine Verbindung mit dem Computer mit IIS herzustellen. Sie müssen daher sicherstellen, dass das Zertifikat für den Server, auf den Sie zugreifen, dem Zertifikatsspeicher auf dem Abonnenten als vertrauenswürdiges Zertifikat hinzugefügt wurde. Weitere Informationen zum Exportieren von Zertifikaten finden Sie in der IIS-Dokumentation.