Compartir a través de


Configuración de IIS 7 para la sincronización web

Se aplica a:SQL Server

Los procedimientos descritos en este artículo le guiarán a través del proceso de configurar manualmente Internet Information Services (IIS) versión 7 y superior para su uso con la sincronización web en la replicación de mezcla.

La configuración de IIS 7 o superior es el primero de los tres pasos necesarios para habilitar la sincronización web.

Para obtener información general sobre todo el proceso de configuración, vea Configurar sincronización web.

Asegúrese de que la aplicación usa solo .NET Framework 2.0 o versiones posteriores, y que las versiones anteriores de .NET Framework no están instaladas en el servidor IIS. Las versiones anteriores de .NET Framework pueden producir errores, como:

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

Para utilizar la sincronización web, debe configurar IIS mediante los siguientes pasos. Cada paso se describe en detalle en este artículo.

  1. Instale y configure Escucha de replicación de SQL Server en el equipo en el que se ejecuta IIS.

  2. Configure la Seguridad de la capa de transporte (TLS), anteriormente conocida como Capa de sockets seguros (SSL). TLS es necesario para establecer comunicaciones entre IIS y todos los suscriptores.

  3. Configure la autenticación IIS.

  4. Configure una cuenta y establezca permisos para la Escucha de replicación de SQL Server.

Instalar la Escucha de replicación de SQL Server

La sincronización web es compatible con IIS, a partir de la versión 5.0. El Asistente para configurar sincronización web de IIS versión 5 y 6, no está disponible con la versión 7.0 de IIS y versiones posteriores.

Nota:

Para usar el componente de sincronización web en el servidor IIS en SQL Server 2012 (11.x) y versiones posteriores, debe instalar SQL Server con replicación. Esto incluye la edición gratuita de SQL Server Express.

Instalar y configurar la Escucha de replicación de SQL Server

  1. Instale la replicación de SQL Server en el equipo de IIS.

  2. Cree un directorio de archivos para replisapi.dll en el equipo que ejecute IIS. Puede crear el directorio donde desee, pero recomendamos crearlo en el directorio <unidad>:\Inetpub. Por ejemplo, cree el directorio <unidad>:\Inetpub\SQLReplication\.

  3. Copie replisapi.dll desde el directorio de la <unidad>:\Archivos de programa\Microsoft SQL Server\nnn\COM\ al directorio de archivos que creó en el paso 1.

  4. Registre el archivo replisapi.dll:

    1. Seleccione Inicio y, a continuación, seleccione Ejecutar. En el cuadro Abrir , escriba cmd y, a continuación, seleccione Aceptar.

    2. En el directorio creado en el paso 1, ejecute el siguiente comando:

      regsvr32 replisapi.dll
      
  5. Cree un nuevo sitio web para la replicación, o bien utilice un sitio existente. Los componentes de la replicación tendrán acceso al sitio web durante la sincronización. En los procedimientos de este artículo se asume que se utiliza el sitio web predeterminado. Para obtener más información acerca de cómo crear sitios web, vea la documentación de IIS.

  6. Cree un directorio virtual en IIS. El directorio virtual se debe crear en el sitio web creado en el paso 4 y asignarse al directorio creado en el paso 1. Asigne a este directorio el mínimo de permisos posible. Debe seleccionar los permisos Lectura y Ejecutar como mínimo.

    1. En Administrador de Internet Information Services (IIS), en el panel Conexiones , haga clic con el botón secundario en Sitio web predeterminadoy, a continuación, seleccione Agregar directorio virtual.

    2. En Alias, escriba SQLReplication.

    3. En Ruta de acceso física, escriba <drive>:\Inetpub\SQLReplication\y, a continuación, seleccione Aceptar.

  7. Configure IIS para permitir la ejecución de replisapi.dll.

    1. En Administrador de Internet Information Services (IIS), seleccione Sitio web predeterminado.

    2. En el panel del centro, seleccione Asignaciones de controlador.

    3. En el panel Acciones , seleccione Agregar asignación de módulos.

    4. En Ruta de acceso de solicitudes, escriba replisapi.dll.

    5. En la lista desplegable Módulo , seleccione IsapiModule.

    6. En Ejecutable, escriba <drive>:\Inetpub\SQLReplication\replisapi.dll.

    7. En Nombre, introduzca Replisapi.

    8. Seleccione el botón Restricciones de solicitud , seleccione la pestaña Acceso y, a continuación, seleccione Ejecutar.

    9. Seleccione Aceptar para cerrar el cuadro de diálogo Restricciones de solicitud y, a continuación, seleccione Aceptar de nuevo para cerrar el cuadro de diálogo Agregar asignación de módulos. Cuando se le pida que permita la extensión ISAPI, seleccione para agregar la extensión.

    10. Compruebe que Replisapi.dll está en la lista, en las asignaciones de controlador Habilitadas. Si está en la lista Deshabilitado , haga clic con el botón derecho en la entrada Replisapi y seleccione Editar permisos de características. Active la casilla Ejecutar y, a continuación, seleccione Aceptar.

Configuración de la autenticación de IIS

Cuando los equipos suscriptores se conectan a IIS, IIS debe autenticarlos para que puedan tener acceso a los recursos y procesos. La autenticación se puede aplicar a todo el sitio web o al directorio virtual que ha creado.

Se recomienda usar la autenticación básica con TLS. TLS es necesario, independientemente del tipo de autenticación que se utilice.

Configuración de la autenticación de IIS

  1. En Administrador de Internet Information Services (IIS), seleccione Sitio web predeterminado.
  2. En el panel central, haga doble clic en Autenticación.
  3. Haga clic con el botón secundario en Autenticación anónima y, a continuación, elija Deshabilitar.
  4. Haga clic con el botón secundario en Autenticación básica y, a continuación, elija Habilitar.

Configurrar Capa de sockets seguros

Para configurar TLS, especifique un certificado para que lo utilice el equipo en el que se ejecuta IIS. La sincronización web para la replicación de fusión admite el uso de certificados de servidor, pero no de certificados de cliente. Para configurar IIS para implementación, primero debe obtener un certificado por parte de una entidad de certificación (CA). Para obtener más información acerca de los certificados, vea la documentación de IIS.

Cuando el certificado esté instalado, debe asociarlo al sitio web que utiliza la sincronización web. Para desarrollo y pruebas, puede especificar un certificado autofirmado. IIS 7 puede crear un certificado y registrarlo en el equipo.

La diferencia entre la implementación para producción y los procedimientos proporcionados aquí es que en las pruebas de producción y preproducción, usaría un certificado emitido por una ENTIDAD de certificación en lugar de un certificado autofirmado.

Importante

No se recomienda un certificado autofirmado para una instalación de producción. Los certificados autofirmados no son seguros. Utilice certificados autofirmados solo en instalaciones de desarrollo y pruebas.

Para configurar TLS, realice los pasos siguientes:

  1. Configure el sitio web para que requiera TLS y pase por alto los certificados de cliente.
  2. Obtenga un certificado de una entidad de certificación o cree un certificado autofirmado.
  3. Enlace el certificado al sitio web de replicación.

Requerir seguridad SSL para un sitio web

  1. En el Administrador de Internet Information Services (IIS), expanda el nodo del servidor local y, a continuación, seleccione el sitio web predeterminado (o el sitio de sincronización web si es diferente del sitio web predeterminado).

  2. En el panel central, haga doble clic en Configuración SSL.

  3. Active la opción Requerir SSL . En Certificados cliente, compruebe que el botón Omitir está seleccionado.

Creación de un certificado autofirmado para pruebas

  1. En el Administrador de Internet Information Services (IIS), seleccione el nodo del servidor local y, después, en el panel central, haga doble clic en Certificados de servidor.

  2. En el panel Acciones , seleccione Crear Self-Signed certificado.

  3. En el cuadro de diálogo Crear Self-Signed certificado , escriba un nombre para el certificado y, a continuación, seleccione Aceptar.

Enlace de un certificado a un sitio web

  1. En el panel Conexiones , seleccione el sitio web predeterminado (o el sitio de sincronización web, si es diferente del sitio web predeterminado).

  2. En el panel Acciones , seleccione Enlaces y, a continuación, seleccione Agregar. Aparecerá el cuadro de diálogo Agregar enlace de sitio.

  3. En la lista desplegable Tipo , seleccione https. Mantenga la configuración predeterminada en Dirección IP y Puerto.

  4. En la lista desplegable Certificado SSL , seleccione el certificado creado en "Para crear un certificado autofirmado para pruebas", seleccione Aceptar y, a continuación, seleccione Cerrar.

Prueba del certificado

  1. En Administrador de Internet Information Services (IIS), seleccione Sitio web predeterminado.

  2. En el panel Acciones , seleccione Examinar *:443(https).

  3. Internet Explorer se abre y muestra un mensaje que indica "Hay un problema con el certificado de seguridad de este sitio web". Esta advertencia indica que el certificado asociado no lo emite una ENTIDAD de certificación reconocida y que podría no ser de confianza. Se trata de una advertencia esperada, por lo que seleccione Continuar a este sitio web (no recomendado).

  4. Si se le pide que se conecte a localhost, escriba un nombre de usuario y una contraseña para continuar. Debe aparecer la página predeterminada del sitio web.

Establecer los permisos para la Escucha de replicación de SQL Server

Cuando un equipo suscriptor se conecta al equipo en el que se ejecuta IIS, se autentica usando el tipo de autenticación especificado al configurar IIS. Tras autenticar al suscriptor, IIS comprueba si el suscriptor está autorizado para invocar la replicación de SQL Server. Debe controlar los usuarios que pueden invocar la replicación de SQL Server estableciendo permisos para replisapi.dll. Es necesario configurar permisos para impedir el acceso no autorizado a la replicación de SQL Server.

Para configurar permisos mínimos para la cuenta bajo la cual se ejecuta el Oyente de replicación de SQL Server, complete el siguiente procedimiento. Los pasos del procedimiento siguiente se aplican a Windows Server 2008 que ejecuta IIS 7.0.

Además de llevar a cabo los pasos siguientes, asegúrese de que las credenciales de acceso necesarias están en la lista de acceso a la publicación (PAL). Para obtener más información sobre la PAL, vea Secure the Publisher (Proteger el publicador).

Importante

La cuenta creada en esta sección es la cuenta que se conecta al publicador y al distribuidor durante la sincronización. La cuenta se debe agregar como cuenta de inicio de sesión SQL en el servidor de distribución y publicación.

La cuenta utilizada para la Escucha de replicación de SQL Server debe tener los permisos descritos en la sección sobre conexión al publicador o distribuidor en el artículo sobre seguridad del agente de mezcla.

En resumen, la cuenta debe:

  • Sé miembro de la Lista de Acceso a la Publicación (PAL).
  • Estar asignada un inicio de sesión asociado a un usuario en la base de datos de publicaciones.
  • Estar asignada un inicio de sesión asociado a un usuario en la base de datos de distribución.
  • Tener permisos de lectura en el recurso compartido de instantáneas.

Configuración de la cuenta y los permisos

  1. Cree una cuenta local en el equipo en el que se ejecuta IIS:

    1. Abra el Administrador del servidor. En el menú Inicio, haga clic con el botón derecho en Equipo y, a continuación, seleccione Administrar.

    2. En el Administrador del servidor, expanda Configuracióny, a continuación, expanda Usuarios y grupos locales.

    3. Haga clic con el botón derecho en Usuarios y, a continuación, seleccione Nuevo usuario.

    4. Escriba un nombre de usuario y una contraseña segura. Desactive El usuario debe cambiar la contraseña en el siguiente inicio de sesión.

    5. Seleccione Crear y, a continuación, seleccione Cerrar.

  2. Agregue la cuenta al grupo IIS_IUSRS:

    1. En el Administrador del servidor, expanda Configuración, expanda Usuarios y grupos locales y, a continuación, seleccione Grupos.

    2. Haga clic con el botón derecho en IIS_IUSRS y seleccione Agregar al grupo.

    3. En el cuadro de diálogo Propiedades de IIS_IUSRS , seleccione Agregar.

    4. En el cuadro de diálogo Seleccionar usuarios, equipos o grupos , agregue la cuenta que creó en el paso 1.

    5. Compruebe que en Desde esta ubicación aparece el nombre del equipo local (no un dominio). Si este campo no muestra el nombre del equipo local, seleccione Ubicaciones. En el cuadro de diálogo Ubicaciones , seleccione el equipo local y, a continuación, seleccione Aceptar.

    6. En el cuadro de diálogo Seleccionar usuarios y el cuadro de diálogo Propiedades de IIS_IUSRS , seleccione Aceptar.

  3. Conceda los permisos mínimos de cuenta en la carpeta que contiene el archivo replisapi.dll:

    1. En el Explorador de Windows, haga clic con el botón derecho en la carpeta que creó para replisapi.dlly, a continuación, seleccione Propiedades.

    2. En la pestaña Seguridad , seleccione Editar.

    3. En el cuadro de diálogo Permisos para <nombredecarpeta> , seleccione Agregar para agregar la cuenta que creó en el paso 1.

    4. Compruebe que en Desde esta ubicación aparece el nombre del equipo local (no un dominio). Si este campo no muestra el nombre del equipo local, seleccione Ubicaciones. En el cuadro de diálogo Ubicaciones , seleccione el equipo local y, a continuación, seleccione Aceptar.

    5. Compruebe que la cuenta solo tiene permisos de Lectura, Lectura y ejecución y Mostrar el contenido de la carpeta.

    6. Seleccione los usuarios o grupos que no necesiten acceso al directorio, seleccione Quitar y, a continuación, seleccione Aceptar.

  4. Cree un grupo de aplicaciones en Administrador de Internet Information Services (IIS):

    1. En Administrador de Internet Information Services (IIS), en el panel Conexiones , expanda el nodo del servidor local.

    2. Haga clic con el botón derecho en Grupos de aplicaciones y seleccione Agregar grupo de aplicaciones.

    3. Escriba un nombre para el grupo de aplicaciones, deje los valores predeterminados para los campos restantes y, a continuación, seleccione Aceptar.

    Si anticipa tener más de dos clientes de sincronización concurrentes, podría considerar crear un web garden. Para obtener más información, consulte Creación de un jardín web.

  5. Asocie la cuenta al grupo de aplicaciones:

    1. En el Administrador de Internet Information Services (IIS), expanda el nodo del servidor local y, a continuación, seleccione Grupos de aplicaciones.

    2. Haga clic con el botón derecho en el grupo de aplicaciones que creó y, a continuación, seleccione Establecer valores predeterminados del grupo de aplicaciones.

    3. En el cuadro de diálogo Valores predeterminados del grupo de aplicaciones, desplácese hacia abajo hasta la sección Modelo de proceso y, a continuación, seleccione el campo Identidad .

    4. Seleccione el botón de elipsis en el lado derecho de la fila Identidad.

    5. Seleccione el botón de radio Cuenta personalizada y, a continuación, seleccione Establecer.

    6. En los campos Nombre de usuario y Contraseña , escriba la cuenta y la contraseña que se crearon en el paso 1 y, a continuación, seleccione Aceptar.

    7. Seleccione Aceptar para cerrar el cuadro de diálogo Identidad del grupo de aplicaciones y, a continuación, seleccione Aceptar de nuevo para cerrar el cuadro de diálogo Valores predeterminados del grupo de aplicaciones.

  6. Asocie el grupo de aplicaciones al sitio web de replicación:

    1. En el Administrador de Internet Information Services (IIS), expanda el nodo del servidor local y, a continuación, seleccione el sitio web predeterminado (o el sitio de sincronización web si es diferente del sitio web predeterminado).

    2. En el panel Acciones , en Administrar sitio web, seleccione Configuración avanzada.

    3. En el cuadro de diálogo Configuración avanzada , seleccione el botón de puntos suspensivos situado a la derecha del grupo de aplicaciones.

    4. En la lista desplegable Grupo de aplicaciones, seleccione el grupo de aplicaciones que creó en el paso 4 y, a continuación, seleccione Aceptar.

    5. Seleccione Aceptar de nuevo para cerrar Configuración avanzada.

Prueba de la conexión a replisapi.dll

Ejecute la sincronización web en modo de diagnóstico para probar la conexión con el equipo en el que se ejecuta IIS y para asegurarse de que el certificado TLS/SSL está instalado correctamente. Para ejecutar la sincronización web en modo de diagnóstico, debe ser administrador en el equipo donde se ejecuta IIS.

  1. Asegúrese de que la configuración de red de área local (LAN) del suscriptor es correcta:

    1. En Internet Explorer, en el menú Herramientas , seleccione Opciones de Internet.

    2. En la pestaña Conexiones , seleccione Configuración de LAN.

    3. Si no se utiliza ningún servidor proxy en la configuración de red de área local (LAN), desactive las casillas Detectar la configuración automáticamente y Utilizar un servidor proxy para su LAN.

    4. Si se usa un servidor proxy, seleccione Usar un servidor proxy para el servidor proxy LAN y Omitir servidor proxy para direcciones locales y, a continuación, seleccione Aceptar.

  2. En el suscriptor, en Internet Explorer, conéctese al servidor en modo de diagnóstico agregando ?diag a la dirección de replisapi.dll. Por ejemplo: https://<server.domain.com>/directory/replisapi.dll?diag.

    En el ejemplo anterior, <server.domain.com> debe reemplazarse por el nombre exacto Emitido para que aparezca en la sección Certificados de servidor del Administrador de IIS.

  3. Si el sistema operativo Windows no reconoce el certificado especificado para IIS, aparece el cuadro de diálogo Alerta de seguridad . Esta alerta puede producirse porque el certificado es un certificado de prueba o el certificado lo emitió una entidad de certificación (CA) que Windows no reconoce.

    Si este cuadro de diálogo no aparece, asegúrese de que el certificado del servidor al que tiene acceso se ha agregado al almacén de certificados en el suscriptor como un certificado de confianza. Para obtener más información acerca de la exportación de certificados, vea la documentación de IIS.

    1. En el cuadro de diálogo Alerta de seguridad , seleccione Ver certificado.

    2. En el cuadro de diálogo Certificado , en la pestaña General , seleccione Instalar certificado.

    3. Complete el Asistente para importación de certificados, aceptando los valores predeterminados.

    4. En el cuadro de diálogo Advertencia de seguridad , seleccione .

    5. En el cuadro de diálogo de confirmación del Asistente para importación de certificados, seleccione Aceptar.

    6. Cierre el cuadro de diálogo Certificado .

    7. En el cuadro de diálogo Alerta de seguridad , seleccione .

    Los certificados los instalan los usuarios. Este proceso lo deben realizar todos los usuarios que vayan a realizar sincronizaciones con IIS.

  4. En el cuadro de diálogo Conectarse a <ServerName>, especifique el nombre de usuario y la contraseña que el Agente de Mezcla usará para conectarse a IIS. Estas credenciales también se especificarán en el Asistente para nueva suscripción.

  5. En la ventana de Internet Explorer denominada información de diagnóstico de SQL Websync, compruebe que el valor de cada columna Estado de la página es SUCCESS.

  6. Compruebe que el certificado se haya instalado correctamente en el suscriptor:

    1. Cierre y vuelva a abrir Internet Explorer.

    2. Conéctese al servidor en modo de diagnóstico. Si el certificado está instalado correctamente, el cuadro de diálogo Alerta de seguridad no aparece. Si aparece el cuadro de diálogo, se produce un error en el Agente de mezcla cuando intenta conectarse al equipo que ejecuta IIS. Debe asegurarse de que el certificado del servidor al que está obteniendo acceso se ha agregado al almacén de certificados del suscriptor como certificado de confianza. Para obtener más información acerca de la exportación de certificados, vea la documentación de IIS.