Configurare IIS 7 per la sincronizzazione Web
Si applica a: SQL Server
Le procedure di questo argomento illustrano il processo di configurazione manuale di Microsoft Internet Information Services (IIS) versione 7 e successive per l'uso con la sincronizzazione Web per la replica di tipo merge.
La configurazione di IIS 7 o versioni successive è il primo di tre passaggi necessari per abilitare la sincronizzazione Web.
Per una panoramica del processo di configurazione, vedere Configurare la sincronizzazione Web.
Importante
Verificare che nell'applicazione venga utilizzato solo .NET Framework 2.0 o versione successiva e che le versioni precedenti di .NET Framework non siano installate sul server IIS. Le versioni precedenti di .NET Framework possono causare errori, ad esempio "Formato di messaggio non valido durante la sincronizzazione Web. Verificare che i componenti di replica siano configurati correttamente nel server Web".
Per utilizzare la sincronizzazione Web, è necessario configurare IIS eseguendo la procedura seguente. Ogni passaggio è descritto in dettaglio in questo argomento.
Installare e configurare il listener per la replica di Microsoft SQL Server nel computer in cui viene eseguito IIS.
Configurare il protocollo TLS (Transport Layer Security), noto in precedenza come SSL (Secure Sockets Layer). TLS è obbligatorio per la comunicazione tra IIS e tutti i sottoscrittori.
Configurare l'autenticazione IIS.
Configurare un account e impostare le autorizzazioni per il listener per la replica di SQL Server.
Installazione del listener per la replica di SQL Server
La sincronizzazione Web è supportata in IIS a partire dalla versione 5.0. La Configurazione guidata sincronizzazione Web di IIS versione 5 e 6 non è disponibile con IIS versione 7.0 e successive. A partire da SQL Server 2012, per usare il componente di sincronizzazione Web nel server IIS, è necessario installare SQL Server con la replica. Ad esempio, è possibile installare l'edizione gratuita SQL Server Express.
Per installare e configurare Listener per la replica di SQL Server
Installare la replica di SQL Server nel computer IIS.
Creare una nuova directory di file per replisapi.dll nel computer che esegue IIS. Sebbene sia possibile creare la directory in un percorso qualsiasi, è consigliabile crearla nella directory <unità>>:\Inetpub. Ad esempio, creare la directory <unità>:\Inetpub\SQLReplication.
Copiare replisapi.dll dalla directory <unità>:\Program Files\Microsoft SQL Server\nnn\com\ alla directory di file creata nel passaggio 1.
Registrare replisapi.dll:
Fare clic sul pulsante Starte quindi scegliere Esegui. Immettere cmd nella casella Aprie quindi fare clic su OK.
Nella directory creata nel passaggio 1 eseguire il comando riportato di seguito:
regsvr32 replisapi.dll
Creare un nuovo sito Web per la replica oppure utilizzare un sito esistente. I componenti di replica accederanno al sito Web durante la sincronizzazione. Nelle procedure di questo argomento si presuppone l'utilizzo del sito Web predefinito. Per ulteriori informazioni sulla creazione di siti Web, vedere la documentazione di IIS.
Creare una directory virtuale in IIS. È consigliabile creare la directory virtuale nel sito Web creato nel passaggio 4 ed eseguirne il mapping alla directory creata nel passaggio 1. È consigliabile applicare le massime restrizioni nell'assegnazione delle autorizzazioni per questa directory. È necessario selezionare almeno autorizzazioni Lettura ed Esecuzione .
In Gestione Internet Information Services (IIS), nel riquadro Connessioni fare clic con il pulsante destro del mouse su Sito Web predefinito, quindi selezionare Aggiungi directory virtuale.
In Aliasimmettere SQLReplication.
In Percorso fisico, immettere <unità>:\Inetpub\SQLReplication e quindi fare clic su OK.
Configurare IIS in modo da consentire l'esecuzione di replisapi.dll.
In Gestione Internet Information Services (IIS)fare clic su Sito Web predefinito.
Nel riquadro centrale fare clic su Mapping gestori.
Nel riquadro Azioni fare clic su Aggiungi mapping moduli.
In Percorso richiesta immettere replisapi.dll.
Nell'elenco a discesa Modulo selezionare IsapiModule.
In Eseguibile, immettere <unità>:\Inetpub\SQLReplication\replisapi.dll.
In Nomeimmettere Replisapi.
Fare clic sul pulsante Restrizioni richieste , fare clic sulla scheda Accesso , quindi scegliere Esegui.
Per chiudere la finestra di dialogo Restrizioni richieste , fare clic su OK , quindi fare nuovamente clic su OK per chiudere la finestra di dialogo Aggiungi mapping moduli . Quando viene richiesto di consentire l'estensione ISAPI, fare clic su Sì per aggiungere l'estensione.
Verificare che Replisapi.dll sia elencato sotto i mapping dei gestori contrassegnati come Abilitato . Se si trova nell'elenco Disabilitato , fare clic con il pulsante destro del mouse sulla voce Replisapi, quindi scegliere Modifica autorizzazioni funzionalità. Selezionare la casella Esegui , quindi fare clic su OK.
Configurazione dell'autenticazione IIS
Quando i computer Sottoscrittori si connettono a IIS, è necessario che vengano autenticati da IIS per poter accedere a risorse e processi. L'autenticazione può essere applicata all'intero sito Web oppure alla directory virtuale creata.
È consigliabile usare l'autenticazione di base con TLS. TLS è necessario indipendentemente dal tipo di autenticazione usato.
Per configurare l'autenticazione IIS
In Gestione Internet Information Services (IIS)fare clic su Sito Web predefinito.
Nel riquadro centrale fare doppio clic su Autenticazione.
Fare clic con il pulsante destro del mouse su Autenticazione anonima, quindi scegliere Disabilita.
Fare clic con il pulsante destro del mouse su Autenticazione di base, quindi scegliere Abilita.
Configurazione di SSL (Secure Sockets Layer)
Per configurare TLS, specificare un certificato che verrà usato dal computer che esegue IIS. La sincronizzazione Web per la replica di tipo merge supporta l'utilizzo di certificati server, ma non di certificati client. Per configurare IIS per la distribuzione, è innanzitutto necessario ottenere un certificato da un'autorità di certificazione. Per ulteriori informazioni sui certificati, vedere la documentazione di IIS.
Dopo l'installazione del certificato, è necessario associare il certificato al sito Web utilizzato nella sincronizzazione Web. Per lo sviluppo e i test, è possibile specificare un certificato autofirmato. Con IIS 7 è possibile creare un certificato e registrarlo nel computer.
La differenza tra la distribuzione per la produzione e le procedure fornite in questo argomento è data dal fatto che nei test di produzione e pre-produzione si utilizza un certificato rilasciato da una CA anziché un certificato autofirmato.
Importante
Non è consigliabile utilizzare un certificato autofirmato per un'installazione di produzione. I certificati autofirmati non sono sicuri. Utilizzare tali certificati solo ai fini di sviluppo e test.
Per configurare TLS, seguire la procedura riportata:
Configurare il sito Web per richiedere TLS e ignorare i certificati client.
Ottenere un certificato da una CA o creare un certificato autofirmato.
Associare il certificato al sito Web per la replica.
Per richiedere la sicurezza SSL per un sito Web
In Gestione Internet Information Services (IIS)espandere il nodo del server locale, quindi fare clic su Sito Web predefinito o sul sito di sincronizzazione Web se è diverso dal sito Web predefinito.
Nel riquadro centrale fare doppio clic su Impostazioni SSL.
Selezionare l'opzione Richiedi SSL . In Certificati clientverificare che il pulsante Ignora sia selezionato.
Per creare un certificato autofirmato per i test
In Gestione Internet Information Services (IIS)fare clic sul nodo del server locale, quindi fare doppio clic su Certificati server.
Nel riquadro Azioni fare clic su Crea certificato autofirmato.
Nella finestra di dialogo Crea certificato autofirmato immettere un nome per il certificato, quindi fare clic su OK.
Per associare un certificato a un sito Web
Nel riquadro Connessioni fare clic su Sito Web predefinito o sul sito di sincronizzazione Web se è diverso dal sito Web predefinito.
Nel riquadro Azioni fare clic su Binding, quindi su Aggiungi. Verrà visualizzata la finestra di dialogo Aggiungi binding sito .
Nell'elenco a discesa Tipo selezionare https. Mantenere le impostazioni predefinite per Indirizzo IP e Porta.
Nell'elenco a discesa Certificato SSL selezionare il certificato creato in "Per creare un certificato autofirmato per i test", fare clic su OK, quindi su Chiudi.
Per testare il certificato
In Gestione Internet Information Services (IIS)fare clic su Sito Web predefinito.
Nel riquadro Azioni, fare clic su Sfoglia *:443 (https).
Internet Explorer aprirà e visualizzerà un messaggio "Si è verificato un problema con il certificato di protezione del sito Web". Questo avviso indica che il certificato associato non è stato emesso da una CA riconosciuta e potrebbe non essere attendibile. Si tratta di un avviso previsto, pertanto fare clic su Continuare con il sito Web (scelta non consigliata).
Se viene visualizzata la richiesta Connetti a localhost, immettere un nome utente e una password per continuare. Dovrebbe venire visualizzata la pagina predefinita del sito Web.
Impostazione delle autorizzazioni per Listener per la replica di SQL Server
Quando un computer Sottoscrittore si connette al computer che esegue IIS, viene autenticato mediante il tipo di autenticazione specificato durante la configurazione di IIS. Dopo l'autenticazione dell’abbonato, in IIS viene controllato se l’abbonato è autorizzato a richiamare la replica di SQL Server. Per controllare gli utenti autorizzati a richiamare le replica di SQL Server, è necessario impostare le autorizzazioni per replisapi.dll. La corretta configurazione delle autorizzazioni è fondamentale per impedire l'accesso non autorizzato alla replica di SQL Server.
Per configurare le autorizzazioni minime per l'account utilizzato per l'esecuzione di Listener per la replica di SQL Server, completare la procedura seguente. I passaggi della procedura seguente sono validi per Microsoft Windows Server 2008 con IIS 7.0.
Oltre a eseguire la procedura seguente, assicurarsi che gli account di accesso necessari siano inclusi nell'elenco di accesso alla pubblicazione. Per altre informazioni sull'elenco di acceso alla pubblicazione, vedere Proteggere il server di pubblicazione.
Importante
L'account creato in questa sezione è quello che verrà utilizzato per la connessione al server di pubblicazione e al database di distribuzione durante la sincronizzazione. È necessario aggiungere questo account come account di accesso SQL nel server di distribuzione e di pubblicazione.
L'account utilizzato per il listener per la replica di SQL Server deve disporre di autorizzazioni come descritto nell'argomento Sicurezza dell'agente di merge, nella sezione "Connettersi al server di pubblicazione o al database di distribuzione".
In breve è necessario che l'account:
sia membro dell'elenco di accesso alla pubblicazione;
sia sottoposto a mapping a un account di accesso associato a un utente nel database di pubblicazione;
sia sottoposto a mapping a un account di accesso associato a un utente nel database di distribuzione;
disponga delle autorizzazioni di lettura per la condivisione snapshot.
Per configurare l'account e le autorizzazioni
Creare un account locale nel computer che esegue IIS:
Aprire Gestione server. Dal menu Start fare clic con il pulsante destro del mouse su Computere scegliere Gestisci.
In Gestione serverespandere Configurazione, quindi Utenti e gruppi locali.
Fare clic con il pulsante destro del mouse su Utentie quindi scegliere Nuovo utente.
Immettere un nome utente e una password complessa. Deselezionare Cambiamento obbligatorio password all'accesso successivo.
Fare clic su Creae quindi su Chiudi.
Aggiungere l'account al gruppo IIS_IUSRS:
In Gestione serverespandere Configurazionee Utenti e gruppi locali, quindi fare clic su Gruppi.
Fare clic con il pulsante destro del mouse su IIS_IUSRS, quindi fare clic su Aggiungi al gruppo.
Nella finestra di dialogo Proprietà - IIS_IUSRS fare clic su Aggiungi.
Nella finestra di dialogo Seleziona Utenti aggiungere l'account creato nel passaggio 1.
Assicurarsi che nel campo Da questo percorso sia visualizzato il nome del computer locale (non di un dominio). Se in questo campo non è visualizzato il nome del computer locale, fare clic su Percorsi. Nella finestra di dialogo Percorsi selezionare il computer locale e quindi fare clic su OK.
Nelle finestre di dialogo Seleziona utenti e Proprietà - IIS_IUSRS fare clic suOK.
Concedere all'account le autorizzazioni minime per la cartella contenente replisapi.dll:
In Windows Explorer fare clic con il pulsante destro del mouse sulla cartella creata per replisapi.dll, quindi scegliere Proprietà.
Nella scheda Sicurezza fare clic su Modifica.
Nella finestra di dialogo Autorizzazioni per <nomecartella> fare clic su Aggiungi per aggiungere l'account creato nel passaggio 1.
Assicurarsi che nel campo Da questo percorso sia visualizzato il nome del computer locale (non di un dominio). Se in questo campo non è visualizzato il nome del computer locale, fare clic su Percorsi. Nella finestra di dialogo Percorsi selezionare il computer locale e quindi fare clic su OK.
Verificare che all'account siano concesse soltanto le autorizzazioni Lettura, Lettura ed esecuzione e Visualizzazione contenuto cartella.
Selezionare gli utenti o i gruppi che non necessitano dell'accesso alla directory, quindi fare clic su Rimuovie su OK.
Creare un pool di applicazioni in Gestione Internet Information Services (IIS):
In Gestione Internet Information Services (IIS), nel riquadro Connessioni espandere il nodo del server locale.
Fare clic con il pulsante destro del mouse su Pool di applicazioni, quindi scegliere Aggiungi pool di applicazioni.
Immettere un nome per il pool di applicazioni, mantenere i valori predefiniti per i campi rimanenti, quindi fare clic su OK.
Nota
Se si prevede di utilizzare più di due client di sincronizzazione simultanei, è necessario creare un Web garden. Per altre informazioni, vedere "Creazione di un Web garden" in Configurare la sincronizzazione Web.
Associare l'account al pool di applicazioni:
In Gestione Internet Information Services (IIS)espandere il nodo del server locale, quindi fare clic su Pool di applicazioni.
Fare clic con il pulsante destro del mouse sul pool di applicazioni creato, quindi scegliere Impostazioni predefinite pool di applicazioni.
Nella finestra di dialogo Impostazioni predefinite pool di applicazioni passare alla sezione Modello di processo , quindi fare clic sul campo Identità .
Fare clic sul pulsante con i puntini di sospensione sul lato destro della riga Identità .
Fare clic sul pulsante di opzione Account personalizzato , quindi su Imposta.
Nei campi Nome utente e Password immettere l'account e la password creati nel passaggio 1, quindi fare clic su OK.
Fare clic su OK per chiudere la finestra di dialogo Identità pool di applicazioni , quindi fare nuovamente clic su OK per chiudere la finestra di dialogo Impostazioni predefinite pool di applicazioni.
Associare il pool di applicazioni al sito Web per la replica:
In Gestione Internet Information Services (IIS)espandere il nodo del server locale, quindi fare clic su Sito Web predefinito o sul sito di sincronizzazione Web se è diverso dal sito Web predefinito.
Nel riquadro Azioni , in Gestione sito Webfare clic su Impostazioni avanzate.
Nella finestra di dialogo Impostazioni avanzate fare clic sul pulsante con i puntini di sospensione a destra di Pool di applicazioni.
Nell'elenco a discesa Pool di applicazioni selezionare il pool di applicazioni creato nel passaggio 4, quindi fare clic su OK.
Fare nuovamente clic su OK per chiudere Impostazioni avanzate.
Test della connessione a replisapi.dll
Eseguire la sincronizzazione Web in modalità diagnostica per testare la connessione al computer che esegue IIS e verificare la corretta installazione del certificato TLS/SSL. Per eseguire la sincronizzazione Web in modalità diagnostica, è necessario disporre dei privilegi di amministratore sul computer che esegue IIS.
Per testare la connessione a replisapi.dll
Assicurarsi che le impostazioni per la rete LAN (Local Area Network) nel Sottoscrittore siano corrette:
In Microsoft Internet Explorer, scegliere Opzioni Internet dal menu Strumenti.
Nella scheda Connessioni fare clic su Impostazioni LAN.
Se nella rete LAN non viene utilizzato un server proxy, deselezionare Rileva automaticamente impostazioni e Utilizza un server proxy server per le connessioni LAN.
Se viene utilizzato un server proxy, selezionare Utilizza un server proxy per le connessioni LAN e Ignora server proxy per indirizzi locali, quindi fare clic su OK.
Nel Sottoscrittore, in Internet Explorer, connettersi al server in modalità diagnostica aggiungendo
?diag
alla fine dell'indirizzo di replisapi.dll. Ad esempio:https://server.domain.com/directory/replisapi.dll?diag
.Nota
Nell'esempio precedente sostituire server.dominio.com con il nome esatto di Rilasciato a elencato nella sezione Certificati del server in Gestione IIS.
Se il certificato specificato per IIS non viene riconosciuto dal sistema operativo Windows, viene visualizzata la finestra di dialogo Avviso di sicurezza . Questo avviso può essere visualizzato perché il certificato è un certificato di prova o è stato emesso da un'autorità di certificazione non riconosciuta da Windows.
Nota
Se questa finestra di dialogo non viene visualizzata, verificare che il certificato per il server a cui si accede sia stato aggiunto all'archivio certificati nel Sottoscrittore come certificato attendibile. Per ulteriori informazioni sull'esportazione dei certificati, vedere la documentazione di IIS.
Nella finestra di dialogo Avviso di sicurezza fare clic su Visualizza certificato.
Nella scheda Generale della finestra di dialogo Certificato fare clic su Installa certificato.
Completare l'Importazione guidata certificati, accettando le impostazioni predefinite.
Nella finestra di dialogo Avviso di sicurezza fare clic su Sì.
Nella finestra di dialogo di conferma dell'Importazione guidata certificati fare clic su OK.
Chiudere la finestra di dialogo Certificato .
Nella finestra di dialogo Avviso di sicurezza fare clic su Sì.
Nota
I certificati vengono installati per gli utenti. Questo processo deve pertanto essere eseguito per ogni utente che eseguirà la sincronizzazione con IIS.
Nella finestra di dialogo Connetti a <NomeServer> specificare l'account di accesso e la password che verranno usati dall'agente di merge per la connessione a IIS. Queste credenziali verranno inoltre specificate nella Creazione guidata nuova sottoscrizione.
Nella finestra di Internet Explorer denominata Informazioni diagnostica SQL Websync, verificare che il valore contenuto in ogni colonna Stato della pagina sia SUCCESS.
Assicurarsi che il certificato sia installato correttamente nel Sottoscrittore:
Chiudere e riaprire Internet Explorer.
Connettersi al server in modalità diagnostica. Se il certificato è stato installato correttamente, la finestra di dialogo Avviso di sicurezza non verrà visualizzata. Se la finestra di dialogo viene visualizzata, i tentativi dell'agente di merge di connettersi al computer che esegue IIS avranno esito negativo. È necessario verificare che il certificato per il server a cui si accede sia stato aggiunto all'archivio certificati del Sottoscrittore come certificato attendibile. Per ulteriori informazioni sull'esportazione dei certificati, vedere la documentazione di IIS.