Procedura: Configurazione di IIS 7 per la sincronizzazione Web

Nelle procedure di questo argomento viene illustrato il processo di configurazione manuale di Microsoft Internet Information Services (IIS) versione 7 per l'utilizzo con la sincronizzazione Web per la replica di tipo merge. La configurazione manuale è necessaria perché la Configurazione guidata sincronizzazione Web non è supportata in IIS 7.0.

La configurazione di IIS 7 è il primo di tre passaggi necessari per abilitare la sincronizzazione Web.

Per una panoramica dell'intero processo di configurazione, vedere Configurazione della sincronizzazione tramite il Web.

Nota importanteImportante

Verificare che l'applicazione utilizzi solo .NET Framework 2.0 o versioni successive e che le versioni precedenti di .NET Framework non siano installate nel 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 7 attenendosi alla procedura seguente. Ogni passaggio è descritto in dettaglio in questo argomento.

  1. Installare e configurare il listener per la replica di Microsoft SQL Server nel computer in cui viene eseguito IIS.

  2. Configurare SSL (Secure Sockets Layer). L'utilizzo di SSL è obbligatorio per la comunicazione tra IIS e tutti i sottoscrittori.

  3. Configurare l'autenticazione IIS.

  4. 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

Per installare e configurare il listener per la replica di SQL Server

  1. Creare una nuova directory di file per replisapi.dll nel computer che esegue IIS. Sebbene sia possibile creare la directory in un percorso qualsiasi, è preferibile crearla nella directory <drive>:\Inetpub. Ad esempio, creare la directory <drive>:\Inetpub\SQLReplication\.

  2. Copiare replisapi.dll dalla directory <unità>:\Programmi\Microsoft SQL Server\100\com\ alla directory di file creata nel passaggio 1.

  3. Registrare replisapi.dll:

    1. Fare clic sul pulsante Start e quindi scegliere Esegui. Digitare cmd nella casella Apri, quindi fare clic su OK.

    2. Nella directory creata nel passaggio 1 eseguire il comando riportato di seguito:

      regsvr32 replisapi.dll

  4. 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.

  5. 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.

    1. 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.

    2. In Alias immettere SQLReplication.

    3. In Percorso fisico immettere <unità>:\Inetpub\SQLReplication\, quindi fare clic su OK.

  6. Configurare IIS in modo da consentire l'esecuzione di replisapi.dll.

    1. In Gestione Internet Information Services (IIS) fare clic su Sito Web predefinito.

    2. Nel riquadro centrale fare clic su Mapping gestori.

    3. Nel riquadro Azioni fare clic su Aggiungi mapping moduli.

    4. In Percorso richiesta immettere replisapi.dll.

    5. Nell'elenco a discesa Modulo selezionare IsapiModule.

    6. In Eseguibile immettere <unità>: \Inetpub\SQLReplication\replisapi.dll.

    7. In Nome immettere Replisapi.

    8. Fare clic sul pulsante Restrizioni richieste, fare clic sulla scheda Accesso, quindi scegliere Esegui.

    9. 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 per aggiungere l'estensione.

    10. 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 utilizzare l'autenticazione di base con SSL. SSL è necessario indipendentemente dal tipo di autenticazione utilizzato.

È consigliabile utilizzare l'autenticazione di base con SSL. SSL è necessario indipendentemente dal tipo di autenticazione utilizzato.

Per configurare l'autenticazione IIS

  1. In Gestione Internet Information Services (IIS) fare clic su Sito Web predefinito.

  2. Nel riquadro centrale fare doppio clic su Autenticazione.

  3. Fare clic con il pulsante destro del mouse su Autenticazione anonima, quindi scegliere Disabilita.

  4. Fare clic con il pulsante destro del mouse su Autenticazione di base, quindi scegliere Abilita.

Configurazione di SSL (Secure Sockets Layer)

Per configurare SSL, specificare un certificato che verrà utilizzato 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.

Nota importanteImportante

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 SSL, verranno eseguiti i passaggi riportati di seguito:

  1. Configurare il sito Web per richiedere SSL e ignorare i certificati client.

  2. Ottenere un certificato da una CA o creare un certificato autofirmato.

  3. Associare il certificato al sito Web per la replica.

Per richiedere la sicurezza SSL per un sito Web

  1. 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.

  2. Nel riquadro centrale fare doppio clic su Impostazioni SSL.

  3. Selezionare l'opzione Richiedi SSL. In Certificati client verificare che il pulsante Ignora sia selezionato.

Per creare un certificato autofirmato per i test

  1. In Gestione Internet Information Services (IIS) fare clic sul nodo del server locale, quindi fare doppio clic su Certificati server.

  2. Nel riquadro Azioni fare clic su Crea certificato autofirmato.

  3. 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

  1. Nel riquadro Connessioni fare clic su Sito Web predefinito o sul sito di sincronizzazione Web se è diverso dal sito Web predefinito.

  2. Nel riquadro Azioni fare clic su Binding, quindi su Aggiungi. Verrà visualizzata la finestra di dialogo Aggiungi binding sito.

  3. Nell'elenco a discesa Tipo selezionare https. Mantenere le impostazioni predefinite per Indirizzo IP e Porta.

  4. 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

  1. In Gestione Internet Information Services (IIS) fare clic su Sito Web predefinito.

  2. Nel riquadro Azioni fare clic su Sfoglia *:443 (https).

  3. Verrà aperto Internet Explorer e verrà visualizzato il messaggio "Si è verificato un problema con il certificato di protezione del sito Web". Questo avviso suggerisce che il certificato associato non è stato rilasciato 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).

  4. 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 il 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 del sottoscrittore, in IIS viene controllato se il sottoscrittore è autorizzato a richiamare la replica di SQL Server. Controllare gli utenti autorizzati a richiamare la replica di SQL Server impostando 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 del 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 ad attenersi alla procedura seguente, assicurarsi che gli account di accesso necessari siano inclusi nell'elenco di accesso alla pubblicazione. Per ulteriori informazioni sull'elenco di accesso alla pubblicazione, vedere Protezione del server di pubblicazione.

Importante   L'account creato in questa sezione è quello che verrà utilizzato per la connessione al server di pubblicazione e al server 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 server di distribuzione".

In breve è necessario che l'account:

  • sia membro dell'elenco di accesso alla pubblicazione;

  • sia mappato a un account di accesso associato a un utente nel database di pubblicazione;

  • sia mappato 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

  1. Creare un account locale nel computer che esegue IIS:

    1. Aprire Gestione server. Dal menu Start fare clic con il pulsante destro del mouse su Computer e scegliere Gestisci.

    2. In Gestione server espandere Configurazione, quindi Utenti e gruppi locali.

    3. Fare clic con il pulsante destro del mouse su Utenti, quindi scegliere Nuovo utente.

    4. Immettere un nome utente e una password complessa. Deselezionare Cambiamento obbligatorio password all'accesso successivo.

    5. Fare clic su Crea, quindi su Chiudi.

  2. Aggiungere l'account al gruppo IIS_IUSRS:

    1. In Gestione server espandere Configurazione e Utenti e gruppi locali, quindi fare clic su Gruppi.

    2. Fare clic con il pulsante destro del mouse su IIS_IUSRS, quindi scegliere Aggiungi al gruppo.

    3. Nella finestra di dialogo Proprietà - IIS_IUSRS fare clic su Aggiungi.

    4. Nella finestra di dialogo Seleziona utenti, computer o gruppi aggiungere l'account creato nel passaggio 1.

    5. 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, quindi fare clic su OK.

    6. Nelle finestre di dialogo Seleziona utenti e Proprietà - IIS_IUSRS fare clic su OK.

  3. Concedere all'account le autorizzazioni minime per la cartella contenente replisapi.dll:

    1. In Windows Explorer fare clic con il pulsante destro del mouse sulla cartella creata per replisapi.dll, quindi scegliere Proprietà.

    2. Nella scheda Sicurezza fare clic su Modifica.

    3. Nella finestra di dialogo Autorizzazioni per <nomecartella> fare clic su Aggiungi per aggiungere l'account creato nel passaggio 1.

    4. 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, quindi fare clic su OK.

    5. Verificare che all'account siano concesse soltanto le autorizzazioni Lettura, Lettura ed esecuzione e Visualizzazione contenuto cartella.

    6. Selezionare gli utenti o i gruppi che non necessitano dell'accesso alla directory, quindi fare clic su Rimuovi e su OK.

  4. Creare un pool di applicazioni in Gestione Internet Information Services (IIS):

    1. In Gestione Internet Information Services (IIS), nel riquadro Connessioni espandere il nodo del server locale.

    2. Fare clic con il pulsante destro del mouse su Pool di applicazioni, quindi scegliere Aggiungi pool di applicazioni.

    3. 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 ulteriori informazioni, vedere "Creazione di un Web garden" in Configurazione della sincronizzazione tramite il Web.

  5. Associare l'account al pool di applicazioni:

    1. In Gestione Internet Information Services (IIS) espandere il nodo del server locale, quindi fare clic su Pool di applicazioni.

    2. Fare clic con il pulsante destro del mouse sul pool di applicazioni creato, quindi scegliere Impostazioni predefinite pool di applicazioni.

    3. Nella finestra di dialogo Impostazioni predefinite pool di applicazioni passare alla sezione Modello di processo, quindi fare clic sul campo Identità.

    4. Fare clic sul pulsante con i puntini di sospensione sul lato destro della riga Identità.

    5. Fare clic sul pulsante di opzione Account personalizzato, quindi su Imposta.

    6. Nei campi Nome utente e Password immettere l'account e la password creati nel passaggio 1, quindi fare clic su OK.

    7. 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.

  6. Associare il pool di applicazioni al sito Web per la replica:

    1. 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.

    2. Nel riquadro Azioni, in Gestione sito Web fare clic su Impostazioni avanzate.

    3. Nella finestra di dialogo Impostazioni avanzate fare clic sul pulsante con i puntini di sospensione a destra di Pool di applicazioni.

    4. Nell'elenco a discesa Pool di applicazioni selezionare il pool di applicazioni creato nel passaggio 4, quindi fare clic su OK.

    5. 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 SSL (Secure Sockets Layer). Per eseguire la sincronizzazione Web in modalità diagnostica, è necessario disporre dei privilegi di amministratore sul computer che esegue IIS.

Per informazioni su come modificare le informazioni aggiunte al file Websync.log, vedere Procedura: Modifica della registrazione durante la connessione a un server in modalità diagnostica.

Per testare la connessione a replisapi.dll

  1. Assicurarsi che le impostazioni per la rete LAN (Local Area Network) nel Sottoscrittore siano corrette:

    1. In Microsoft Internet Explorer scegliere Opzioni Internet dal menu Strumenti.

    2. Nella scheda Connessioni fare clic su Impostazioni LAN.

    3. Se nella rete LAN non viene utilizzato un server proxy, deselezionare Rileva automaticamente impostazioni e Utilizza un server proxy per le connessioni LAN.

    4. 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.

  2. Nel sottoscrittore, in Internet Explorer connettersi al server in modalità diagnostica aggiungendo ?diag alla fine dell'indirizzo di replisapi.dll. Ad esempio: https://server.dominio.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.

  3. Se il certificato specificato per IIS non viene riconosciuto dal sistema operativo Windows, verrà 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.

    1. Nella finestra di dialogo Avviso di sicurezza fare clic su Visualizza certificato.

    2. Nella scheda Generale della finestra di dialogo Certificato fare clic su Installa certificato.

    3. Completare l'Importazione guidata certificati, accettando le impostazioni predefinite.

    4. Nella finestra di dialogo Avviso di sicurezza fare clic su .

    5. Nella finestra di dialogo di conferma dell'Importazione guidata certificati fare clic su OK.

    6. Chiudere la finestra di dialogo Certificato.

    7. Nella finestra di dialogo Avviso di sicurezza fare clic su .

    Nota

    I certificati vengono installati per gli utenti. Questo processo deve pertanto essere eseguito per ogni utente che eseguirà la sincronizzazione con IIS.

  4. Nella finestra di dialogo Connetti a <ServerName> specificare l'account di accesso e la password che verranno utilizzati dall'agente di merge per la connessione a IIS. Queste credenziali verranno inoltre specificate nella Creazione guidata nuova sottoscrizione.

  5. Nella finestra di Internet Explorer denominata Informazioni diagnostica SQL Websync, verificare che il valore contenuto in ogni colonna Stato della pagina sia SUCCESS.

  6. Assicurarsi che il certificato sia installato correttamente nel Sottoscrittore:

    1. Chiudere e riaprire Internet Explorer.

    2. 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 nel Sottoscrittore come certificato attendibile. Per ulteriori informazioni sull'esportazione dei certificati, vedere la documentazione di IIS.