Sincronización SQL Express por web en réplica de mezcla

11/04/2008 - 09:59 por Juan Diego Bueno | Informe spam
Hola gente:

Estoy probando la réplica de mezcla para ver si la implemento en un
proyecto. En principio funciona a la perfección si la hago a nivel de
intranet, pero mi idea es su utilización por web.

Estoy probando con un SQL Server Enterprise Ed. 2005 como publicador
(una trial de 180 días para pruebas) y un SQL Server 2005 express como
subscriptor (en el proyecto habrá varios similares).

El tema es que no logro que sincronice. Os explico como está la
configuración web del publicador:

- Tengo un directorio virtual para la sincronización
- Tengo un certificado (aunque ha sido autofirmado, para pruebas)
- Utilizo la autenticación básica, dando como dominio predeterminado el
nombre del equipo en el que está el SQL Server enterprise y territorio,
el nombre del certificado.
- Como usuario con permisos de acceso al directorio, tengo uno propio
del equipo donde está el Enterprise (a partir de ahora, EPub)
- Como recurso compartido, un directorio de EPub que ya asigné al
configurar la réplica

Bien, si entro por el navegador desde el equipo suscriptor (a partir de
ahora ESusc) a https://EPub/dirsync/replisapi.dll, inicialmente se
queja por el certificado, lo acepto y aparece una pantalla que parece
denotar que funciona (muestra el mensaje SQL Server WebSync ISAPI).

El problema lo tengo al intentar sincronizar desde el sucriptor. Si lo
intento con la utilidad de sincronización de W2000 me muestra el error:
A security error occured y casca.

Si lo hago con replmerg con esta sintaxis:

"C:\Archivos de programa\Microsoft SQL Server\90\COMeplmerg.exe"
-Publisher EPub -PublisherDB BDPUB -Publication nombrepub -Subscriber
ESusc\SQLEXPRESS -Distributor EPub -SubscriberDB BDSUSC
-SubscriberSecurityMode 1 -InternetURL
https://EPub/NombreSync/replisapi.dll -InternetLogin
EPub\usuariodominio -InternetPassword contraseñausuariodominio
-PublisherSecurityMode 1 -Output -SubscriberSecurityMode 1
-SubscriptionType 1 -DistributorSecurityMode 1

Todo parece ir bien hasta que muestra lo siguiente:

El Agente de mezcla no se pudo conectar a la direcciŸn U
RL 'https://EPub/NombreSync/replisapi.dll' durante la sincronizaciŸn We
b. Compruebe que la configuraciŸn de direcciŸn URL, credenciales de
inicio de sesiŸn en Internet y servidor proxy es correcta y que se
puede tener acceso al servidor Web.

El caso es que todo parece estar bien y no entiendo por qué no conecta
(máxime cuando si lo hace mediante el explorador).

Indicar que el equipo suscriptor está en un dominio, mientras que el
publicador no, y que normalmente el suscriptor navega a través de
proxy, aunque en la configuración de IE se excluyen las direcciones
locales, y aunque no esté en dominio, el equipo publicador si está en
red con el suscriptor. La publicación/suscripción convencional por
intranet si funciona.

Gracias de antemano.

Saludos

http://www.moondance.es

Preguntas similare

Leer las respuestas

#1 Anonimo
12/04/2008 - 10:03 | Informe spam
Hola Juan,

Lo primero, te recomendaría que accedieses a la URL utilizada por el filtro
isapi de la réplica. Ej:

https://EPub/NombreSync/replisapi.dll'

Comprueba el mensaje que pueda darte Internet Explorer. Algunas de las
utilidades que generan certificados autofirmados, los generan con un tiempo
de vida de 7 días, es decir, después de 7 días el certificado caduca y la
réplica (perdón la Sincronización Web ;-) dejaría de funcionar. Esta es
una posible razón. También es posible que el usuario que utilices para
Sincronizar con el Agente de Mezcla, no tenga permisos. Puedes abrir un
Internet Explorer con dicho usuario, y comprobar si tiene permisos de acceso
o no a dicha DLL. Si no los tiene, creo que tan sólo era necesario cambiar
los permisos NTFS de replisapi.dll... sino recuerdo mal... (sólo lo he
tenido que hacer alguna vez durante pruebas, y hace tiempo).

También tienes que tener en cuenta que el equipo cliente (subscriptor) debe
confiar en la entidad emisora del certificado que has utilizado. Si utilizas
un certificado autofirmado, en el equipo cliente deberás importar el
certificado. Esto se hace al acceder con Internet Explorer a la URL de la
réplica (por ejemplo), y si te da la opción de ver el certificado (y si no
le das al icono del candado del Internet Explorer), pues al ver el
certificado le das al botón de instalar certificado, y fuera (siento no ser
más claro, pero ni tengo aquí el entorno, ni tengo aquí documentación, y
además, depende de que versión de Internet Explorer). En el caso de una
aplicación empresarial (y no de un piloto), podrías utilizar una CA Root o
una Issue CA con Windows Server 2003, ya sea independiente o integrada en
directorio activo, y utilizar Políticas (GPO) para hacer llegar el
certificado a los equipos clientes (dependiendo de la edición de Windows -
2000 ó 2003 - te será necesaria la GPO para todos los dominios de tu
organización o sólo para los dominios distintos al dominio al que pertenece
la CA).

Doy por hecho que el certificado ha sido generado correctamente, es decir,
si deseamos acceder a una URL de https://www.replica.local, el certificado
se ha generado para dicho nombre, y no para el nombre de máquina, u otro
alias.

También me encontré un día con un problema que poco sentido tenía. Fallaba
la Sincronización Web para algunas Publicaciones (este entorno son 100
Publicaciones, y 1000 potenciales Subscriptores con SQL Express, utilizando
particiones de datos, etc.). Resultó que la aplicación que utilizaba la
réplica, al crear las Subscripciones, ponía la URL con mayúsculas y
minúsculas (ej: www.Replica.Local). Lo cambiamos a minúsculas, y funcionó a
la primera (eso sí, hasta que me di cuenta que en los equipos que funcionaba
era por ese detalle ortográfico...). Desde entonces recomiendo crear las
Publicaciones especificando la URL en minúsculas, el sitio web con la URL en
minúsculas, el certificado digital con la URL en minúsculas, y las
Subscripciones con la URL en minúsculas.

En el IIS, dentro del directorio dónde se encuentra el filtro isapi
utilizado para la réplica (replisapi.dll) existe un pequeño LOG de dicha
dll, que puede ser útil que lo consultes, para diagnósticos, etc. A mi me ha
servido en alguna ocasión, pero de muy tarde en tarde.

También puedes intentar ver información de diagnóstico en el ERRORLOG de SQL
Server, y en el visor de suscesos de las máquinas IIS, SQL Server y de los
equipos clientes. Aunque ten por seguro que tu problema está entre el IIS y
el equipo Subscriptor (lo que ocurre, es que el error que muestras lo he
vistos para muchos casos distintos es bastante genérico).

Por si te resulta cómodo y no lo conocieses, yo para realizar las pruebas
utilizo mucho la herramienta Sincronizar (Inicio -> Programas ->
Accesorios), ya que se integra con SQL Server, y te permite utilizarlo como
interfaz gráfico para invocar al agente de mezcla, en vez de llamarlo a mano
con todos sus parámetros, etc. Lo uso un montón para diagnóstico en equipos
con SQL Express (lástima que no incluya el SQL Agent ésta edición de SQL
Server lástima ;-)

De momento poco más. Intenta ver algo más, y nos cuentas.

Saludos !
GuilleSQL
http://www.guillesql.es





"Juan Diego Bueno" wrote in message
news:
Hola gente:

Estoy probando la réplica de mezcla para ver si la implemento en un
proyecto. En principio funciona a la perfección si la hago a nivel de
intranet, pero mi idea es su utilización por web.

Estoy probando con un SQL Server Enterprise Ed. 2005 como publicador (una
trial de 180 días para pruebas) y un SQL Server 2005 express como
subscriptor (en el proyecto habrá varios similares).

El tema es que no logro que sincronice. Os explico como está la
configuración web del publicador:

- Tengo un directorio virtual para la sincronización
- Tengo un certificado (aunque ha sido autofirmado, para pruebas)
- Utilizo la autenticación básica, dando como dominio predeterminado el
nombre del equipo en el que está el SQL Server enterprise y territorio, el
nombre del certificado.
- Como usuario con permisos de acceso al directorio, tengo uno propio del
equipo donde está el Enterprise (a partir de ahora, EPub)
- Como recurso compartido, un directorio de EPub que ya asigné al
configurar la réplica

Bien, si entro por el navegador desde el equipo suscriptor (a partir de
ahora ESusc) a https://EPub/dirsync/replisapi.dll, inicialmente se queja
por el certificado, lo acepto y aparece una pantalla que parece denotar
que funciona (muestra el mensaje SQL Server WebSync ISAPI).

El problema lo tengo al intentar sincronizar desde el sucriptor. Si lo
intento con la utilidad de sincronización de W2000 me muestra el error: A
security error occured y casca.

Si lo hago con replmerg con esta sintaxis:

"C:\Archivos de programa\Microsoft SQL
Server\90\COMeplmerg.exe" -Publisher EPub -PublisherDB
BDPUB -Publication nombrepub -Subscriber ESusc\SQLEXPRESS -Distributor
EPub -SubscriberDB BDSUSC -SubscriberSecurityMode 1 -InternetURL
https://EPub/NombreSync/replisapi.dll -InternetLogin
EPub\usuariodominio -InternetPassword
contraseñausuariodominio -PublisherSecurityMode
1 -Output -SubscriberSecurityMode 1 -SubscriptionType
1 -DistributorSecurityMode 1

Todo parece ir bien hasta que muestra lo siguiente:

El Agente de mezcla no se pudo conectar a la direcci¾n U
RL 'https://EPub/NombreSync/replisapi.dll' durante la sincronizaci¾n We
b. Compruebe que la configuraci¾n de direcci¾n URL, credenciales de inicio
de sesi¾n en Internet y servidor proxy es correcta y que se puede tener
acceso al servidor Web.

El caso es que todo parece estar bien y no entiendo por qué no conecta
(máxime cuando si lo hace mediante el explorador).

Indicar que el equipo suscriptor está en un dominio, mientras que el
publicador no, y que normalmente el suscriptor navega a través de proxy,
aunque en la configuración de IE se excluyen las direcciones locales, y
aunque no esté en dominio, el equipo publicador si está en red con el
suscriptor. La publicación/suscripción convencional por intranet si
funciona.

Gracias de antemano.

Saludos

http://www.moondance.es


Respuesta Responder a este mensaje
#2 Juan Diego Bueno
14/04/2008 - 13:51 | Informe spam
Hola Guille:

Ante todo, agradecerte tu tiempo al contestar y dar toda esta gama de
posibilidades :)

GuilleSQL ha utilizado su teclado para escribir :
Hola Juan,

Lo primero, te recomendaría que accedieses a la URL utilizada por el filtro
isapi de la réplica. Ej:

https://EPub/NombreSync/replisapi.dll'

Comprueba el mensaje que pueda darte Internet Explorer. Algunas de las
utilidades que generan certificados autofirmados, los generan con un tiempo
de vida de 7 días, es decir, después de 7 días el certificado caduca y la
réplica (perdón la Sincronización Web ;-) dejaría de funcionar. Esta es
una posible razón. También es posible que el usuario que utilices para
Sincronizar con el Agente de Mezcla, no tenga permisos. Puedes abrir un
Internet Explorer con dicho usuario, y comprobar si tiene permisos de acceso
o no a dicha DLL. Si no los tiene, creo que tan sólo era necesario cambiar
los permisos NTFS de replisapi.dll... sino recuerdo mal... (sólo lo he tenido
que hacer alguna vez durante pruebas, y hace tiempo).



He probado esto y sigue en las mismas. Al entrar por el IE, como dije
en el post inicial, me avisa sobre el certificado, si le digo que lo
quiero usar aunque no sea de confianza, me pide usuario y contraseña
(que son del dominio propio del equipo donde está el servidor, es decir
NOMBREEQUIPO\usuario) y muestra el mensaje SQL Server WebSync ISAPI
(nada más). En el IE7, muestra arriba un mensaje de tipo "Error de
certificado". Dicho certificado lo he creado hace pocos días, menos de
7, así que por eso no debería haber problema. Además, supuestamente
caduca en un año.

También tienes que tener en cuenta que el equipo cliente (subscriptor) debe
confiar en la entidad emisora del certificado que has utilizado. Si utilizas
un certificado autofirmado, en el equipo cliente deberás importar el
certificado. Esto se hace al acceder con Internet Explorer a la URL de la
réplica (por ejemplo), y si te da la opción de ver el certificado (y si no le
das al icono del candado del Internet Explorer), pues al ver el certificado
le das al botón de instalar certificado, y fuera (siento no ser más claro,
pero ni tengo aquí el entorno, ni tengo aquí documentación, y además, depende
de que versión de Internet Explorer). En el caso de una aplicación
empresarial (y no de un piloto), podrías utilizar una CA Root o una Issue CA
con Windows Server 2003, ya sea independiente o integrada en directorio
activo, y utilizar Políticas (GPO) para hacer llegar el certificado a los
equipos clientes (dependiendo de la edición de Windows - 2000 ó 2003 - te
será necesaria la GPO para todos los dominios de tu organización o sólo para
los dominios distintos al dominio al que pertenece la CA).



Esto ya lo he hecho, y sigue en las mismas. Me lo importa
correctamente, pero cuando reinicio el navegador, vuelve a decirme lo
mismo de siempre.

Doy por hecho que el certificado ha sido generado correctamente, es decir, si
deseamos acceder a una URL de https://www.replica.local, el certificado se ha
generado para dicho nombre, y no para el nombre de máquina, u otro alias.



Esto... en la medida de lo poco que sé, creo que también está bien.
Puedo entrar igualmente en https://nombredeequipo. El certificado se
creó a partir de una solicitud desde el IIS. Después creé una autoridad
certificadora fantasma y lo que hace es darme un aviso sobre que "No se
puede encontrar el emisor del certificado".

También me encontré un día con un problema que poco sentido tenía. Fallaba la
Sincronización Web para algunas Publicaciones (este entorno son 100
Publicaciones, y 1000 potenciales Subscriptores con SQL Express, utilizando
particiones de datos, etc.). Resultó que la aplicación que utilizaba la
réplica, al crear las Subscripciones, ponía la URL con mayúsculas y
minúsculas (ej: www.Replica.Local). Lo cambiamos a minúsculas, y funcionó a
la primera (eso sí, hasta que me di cuenta que en los equipos que funcionaba
era por ese detalle ortográfico...). Desde entonces recomiendo crear las
Publicaciones especificando la URL en minúsculas, el sitio web con la URL en
minúsculas, el certificado digital con la URL en minúsculas, y las
Subscripciones con la URL en minúsculas.



Lo he probado, sigue igual

En el IIS, dentro del directorio dónde se encuentra el filtro isapi utilizado
para la réplica (replisapi.dll) existe un pequeño LOG de dicha dll, que puede
ser útil que lo consultes, para diagnósticos, etc. A mi me ha servido en
alguna ocasión, pero de muy tarde en tarde.



No veo nada clarificador

También puedes intentar ver información de diagnóstico en el ERRORLOG de SQL
Server, y en el visor de suscesos de las máquinas IIS, SQL Server y de los
equipos clientes. Aunque ten por seguro que tu problema está entre el IIS y
el equipo Subscriptor (lo que ocurre, es que el error que muestras lo he
vistos para muchos casos distintos es bastante genérico).



Tampoco veo nada destacable

Por si te resulta cómodo y no lo conocieses, yo para realizar las pruebas
utilizo mucho la herramienta Sincronizar (Inicio -> Programas -> Accesorios),
ya que se integra con SQL Server, y te permite utilizarlo como interfaz
gráfico para invocar al agente de mezcla, en vez de llamarlo a mano con todos
sus parámetros, etc. Lo uso un montón para diagnóstico en equipos con SQL
Express (lástima que no incluya el SQL Agent ésta edición de SQL Server
lástima ;-)



Sí, la he utilizado y lo sigo haciendo, lo que pasa es que me pierdo un
poco con todas las autenticaciones que tiene. Aún así, tampoco
sincroniza desde aquí (da un error de inicio de sesión).

De momento poco más. Intenta ver algo más, y nos cuentas.




Bueno, estas primeras pruebas las he hecho con el servidor sql y el IIS
en un portátil (ambos en el mismo). Voy a probar con un servidor web en
otro equipo, volver a crear el certificado y a ver que pasa.

En teoría no debería preocuparme en exceso por esto, es decir, doy por
hecho que mis compañeros van a configurar como es debido IIS, con su
certificado válido, y que hecho así, no voy a tener problemas para
acceder desde fuera. Además, algunas suscripciones se van a hacer desde
fuera por https, pero otras van a estar en intranet y no va a haber
problema (esta ya la he probado y va bien).

Repito, muchas gracias por todo.

Saludos

http://www.moondance.tk
Respuesta Responder a este mensaje
#3 Juan Diego Bueno
14/04/2008 - 19:57 | Informe spam
Bueno, pues ya está resuelto. Al final lo que hice fue importar el
certificado que se había generado para la autoridad certificada, ponerle
como de confianza y todo empezó a funcionar.

De todas maneras, una de las razones que hace que tenga problemas es que uso
en la publicación y distribución usuarios de SQL Server, lo cual no debe ser
muy recomendable, ya que a la hora sincronizar, pide esos datos.

Pero bueno, eso será cuestión de experimentar. Además, una vez montados los
servidores en producción supongo que no haya ese tipo de problemas. Además
lo he probado con RMO y va de lujo.

Gracias por todo

Juan Diego Bueno www.moondance.es

"Juan Diego Bueno" escribió en el mensaje
news:
Hola Guille:

Ante todo, agradecerte tu tiempo al contestar y dar toda esta gama de
posibilidades :)

GuilleSQL ha utilizado su teclado para escribir :
Hola Juan,

Lo primero, te recomendaría que accedieses a la URL utilizada por el
filtro isapi de la réplica. Ej:

https://EPub/NombreSync/replisapi.dll'

Comprueba el mensaje que pueda darte Internet Explorer. Algunas de las
utilidades que generan certificados autofirmados, los generan con un
tiempo de vida de 7 días, es decir, después de 7 días el certificado
caduca y la réplica (perdón la Sincronización Web ;-) dejaría de
funcionar. Esta es una posible razón. También es posible que el usuario
que utilices para Sincronizar con el Agente de Mezcla, no tenga permisos.
Puedes abrir un Internet Explorer con dicho usuario, y comprobar si tiene
permisos de acceso o no a dicha DLL. Si no los tiene, creo que tan sólo
era necesario cambiar los permisos NTFS de replisapi.dll... sino recuerdo
mal... (sólo lo he tenido que hacer alguna vez durante pruebas, y hace
tiempo).



He probado esto y sigue en las mismas. Al entrar por el IE, como dije en
el post inicial, me avisa sobre el certificado, si le digo que lo quiero
usar aunque no sea de confianza, me pide usuario y contraseña (que son del
dominio propio del equipo donde está el servidor, es decir
NOMBREEQUIPO\usuario) y muestra el mensaje SQL Server WebSync ISAPI (nada
más). En el IE7, muestra arriba un mensaje de tipo "Error de certificado".
Dicho certificado lo he creado hace pocos días, menos de 7, así que por
eso no debería haber problema. Además, supuestamente caduca en un año.

También tienes que tener en cuenta que el equipo cliente (subscriptor)
debe confiar en la entidad emisora del certificado que has utilizado. Si
utilizas un certificado autofirmado, en el equipo cliente deberás
importar el certificado. Esto se hace al acceder con Internet Explorer a
la URL de la réplica (por ejemplo), y si te da la opción de ver el
certificado (y si no le das al icono del candado del Internet Explorer),
pues al ver el certificado le das al botón de instalar certificado, y
fuera (siento no ser más claro, pero ni tengo aquí el entorno, ni tengo
aquí documentación, y además, depende de que versión de Internet
Explorer). En el caso de una aplicación empresarial (y no de un piloto),
podrías utilizar una CA Root o una Issue CA con Windows Server 2003, ya
sea independiente o integrada en directorio activo, y utilizar Políticas
(GPO) para hacer llegar el certificado a los equipos clientes
(dependiendo de la edición de Windows - 2000 ó 2003 - te será necesaria
la GPO para todos los dominios de tu organización o sólo para los
dominios distintos al dominio al que pertenece la CA).



Esto ya lo he hecho, y sigue en las mismas. Me lo importa correctamente,
pero cuando reinicio el navegador, vuelve a decirme lo mismo de siempre.

Doy por hecho que el certificado ha sido generado correctamente, es
decir, si deseamos acceder a una URL de https://www.replica.local, el
certificado se ha generado para dicho nombre, y no para el nombre de
máquina, u otro alias.



Esto... en la medida de lo poco que sé, creo que también está bien. Puedo
entrar igualmente en https://nombredeequipo. El certificado se creó a
partir de una solicitud desde el IIS. Después creé una autoridad
certificadora fantasma y lo que hace es darme un aviso sobre que "No se
puede encontrar el emisor del certificado".

También me encontré un día con un problema que poco sentido tenía.
Fallaba la Sincronización Web para algunas Publicaciones (este entorno
son 100 Publicaciones, y 1000 potenciales Subscriptores con SQL Express,
utilizando particiones de datos, etc.). Resultó que la aplicación que
utilizaba la réplica, al crear las Subscripciones, ponía la URL con
mayúsculas y minúsculas (ej: www.Replica.Local). Lo cambiamos a
minúsculas, y funcionó a la primera (eso sí, hasta que me di cuenta que
en los equipos que funcionaba era por ese detalle ortográfico...). Desde
entonces recomiendo crear las Publicaciones especificando la URL en
minúsculas, el sitio web con la URL en minúsculas, el certificado digital
con la URL en minúsculas, y las Subscripciones con la URL en minúsculas.



Lo he probado, sigue igual

En el IIS, dentro del directorio dónde se encuentra el filtro isapi
utilizado para la réplica (replisapi.dll) existe un pequeño LOG de dicha
dll, que puede ser útil que lo consultes, para diagnósticos, etc. A mi me
ha servido en alguna ocasión, pero de muy tarde en tarde.



No veo nada clarificador

También puedes intentar ver información de diagnóstico en el ERRORLOG de
SQL Server, y en el visor de suscesos de las máquinas IIS, SQL Server y
de los equipos clientes. Aunque ten por seguro que tu problema está entre
el IIS y el equipo Subscriptor (lo que ocurre, es que el error que
muestras lo he vistos para muchos casos distintos es bastante
genérico).



Tampoco veo nada destacable

Por si te resulta cómodo y no lo conocieses, yo para realizar las pruebas
utilizo mucho la herramienta Sincronizar (Inicio -> Programas ->
Accesorios), ya que se integra con SQL Server, y te permite utilizarlo
como interfaz gráfico para invocar al agente de mezcla, en vez de
llamarlo a mano con todos sus parámetros, etc. Lo uso un montón para
diagnóstico en equipos con SQL Express (lástima que no incluya el SQL
Agent ésta edición de SQL Server lástima ;-)



Sí, la he utilizado y lo sigo haciendo, lo que pasa es que me pierdo un
poco con todas las autenticaciones que tiene. Aún así, tampoco sincroniza
desde aquí (da un error de inicio de sesión).

De momento poco más. Intenta ver algo más, y nos cuentas.




Bueno, estas primeras pruebas las he hecho con el servidor sql y el IIS en
un portátil (ambos en el mismo). Voy a probar con un servidor web en otro
equipo, volver a crear el certificado y a ver que pasa.

En teoría no debería preocuparme en exceso por esto, es decir, doy por
hecho que mis compañeros van a configurar como es debido IIS, con su
certificado válido, y que hecho así, no voy a tener problemas para acceder
desde fuera. Además, algunas suscripciones se van a hacer desde fuera por
https, pero otras van a estar en intranet y no va a haber problema (esta
ya la he probado y va bien).

Repito, muchas gracias por todo.

Saludos

http://www.moondance.tk


Respuesta Responder a este mensaje
#4 Anonimo
14/04/2008 - 19:59 | Informe spam
Hola Juan,

Por lo que cuentas, tengo claro que el error viene por el certificado. Es
decir, habriendo el menú opciones de Internet Explorer 7 (Tools -> Internet
Options) en la pestaña Contents, click en el botón Certificates. En la
ventana Certificates, colócate en la pestaña Trusted Root Certification
Authorities. En ésta pestaña, puedes ver la lista de Entidates
Certificadoras Raíz de Confianza.

Creo, que el error que te ocurre, es que no has conseguido importar el
certificado de la CA Root que utilizas en el Internet Explorer. En las
pruebas que realicé en su momento, me encontré que en algunas versiones de
Sistema Operativo / Navegador (no recuerdo el detalle de cuales), al darle
al botón de importar, se importaban bien, pero en otros casos se importaba
el certificado como Entidad Intermedia y NO como entidad raíz... y en ese
caso, fallaba !!

Si puedes, comprueba que tienes dado de alta tu CA Root en ésta lista, sea
una CA Root tuya propia (yo tengo la mía en mi laboratorio de pruebas, que
se llama VCA01, es una Windows Server 2003 standalone, y me aparece en ésta
lista), o sea un certificado autofirmado (creo que en ese caso también
aparece en dicha lista si se importa correctamente).

Un detalle: Si no recuerdo mal (así de cabeza), al hacerlo con el Internet
Explorer, estás importando el Certificado en la base de datos de certificado
del usuario (luego, en la misma máquina con otro usuario, el certificado
recién importado, ni lo hueles) mientras que por políticas de Directorio
Activo (las GPO de toda la vida), puedes importar el certificado en la base
de datos de certificados de la máquina (y así lo importas una vez para todos
los usuarios, mejor, no?).

Ya me cuentas, que me tienes intrigaoooooo !!

Saludos,
GuilleSQL
http://www.guillesql.es


"Juan Diego Bueno" wrote in message
news:
Hola Guille:

Ante todo, agradecerte tu tiempo al contestar y dar toda esta gama de
posibilidades :)

GuilleSQL ha utilizado su teclado para escribir :
Hola Juan,

Lo primero, te recomendaría que accedieses a la URL utilizada por el
filtro isapi de la réplica. Ej:

https://EPub/NombreSync/replisapi.dll'

Comprueba el mensaje que pueda darte Internet Explorer. Algunas de las
utilidades que generan certificados autofirmados, los generan con un
tiempo de vida de 7 días, es decir, después de 7 días el certificado
caduca y la réplica (perdón la Sincronización Web ;-) dejaría de
funcionar. Esta es una posible razón. También es posible que el usuario
que utilices para Sincronizar con el Agente de Mezcla, no tenga permisos.
Puedes abrir un Internet Explorer con dicho usuario, y comprobar si tiene
permisos de acceso o no a dicha DLL. Si no los tiene, creo que tan sólo
era necesario cambiar los permisos NTFS de replisapi.dll... sino recuerdo
mal... (sólo lo he tenido que hacer alguna vez durante pruebas, y hace
tiempo).



He probado esto y sigue en las mismas. Al entrar por el IE, como dije en
el post inicial, me avisa sobre el certificado, si le digo que lo quiero
usar aunque no sea de confianza, me pide usuario y contraseña (que son del
dominio propio del equipo donde está el servidor, es decir
NOMBREEQUIPO\usuario) y muestra el mensaje SQL Server WebSync ISAPI (nada
más). En el IE7, muestra arriba un mensaje de tipo "Error de certificado".
Dicho certificado lo he creado hace pocos días, menos de 7, así que por
eso no debería haber problema. Además, supuestamente caduca en un año.

También tienes que tener en cuenta que el equipo cliente (subscriptor)
debe confiar en la entidad emisora del certificado que has utilizado. Si
utilizas un certificado autofirmado, en el equipo cliente deberás
importar el certificado. Esto se hace al acceder con Internet Explorer a
la URL de la réplica (por ejemplo), y si te da la opción de ver el
certificado (y si no le das al icono del candado del Internet Explorer),
pues al ver el certificado le das al botón de instalar certificado, y
fuera (siento no ser más claro, pero ni tengo aquí el entorno, ni tengo
aquí documentación, y además, depende de que versión de Internet
Explorer). En el caso de una aplicación empresarial (y no de un piloto),
podrías utilizar una CA Root o una Issue CA con Windows Server 2003, ya
sea independiente o integrada en directorio activo, y utilizar Políticas
(GPO) para hacer llegar el certificado a los equipos clientes
(dependiendo de la edición de Windows - 2000 ó 2003 - te será necesaria
la GPO para todos los dominios de tu organización o sólo para los
dominios distintos al dominio al que pertenece la CA).



Esto ya lo he hecho, y sigue en las mismas. Me lo importa correctamente,
pero cuando reinicio el navegador, vuelve a decirme lo mismo de siempre.

Doy por hecho que el certificado ha sido generado correctamente, es
decir, si deseamos acceder a una URL de https://www.replica.local, el
certificado se ha generado para dicho nombre, y no para el nombre de
máquina, u otro alias.



Esto... en la medida de lo poco que sé, creo que también está bien. Puedo
entrar igualmente en https://nombredeequipo. El certificado se creó a
partir de una solicitud desde el IIS. Después creé una autoridad
certificadora fantasma y lo que hace es darme un aviso sobre que "No se
puede encontrar el emisor del certificado".

También me encontré un día con un problema que poco sentido tenía.
Fallaba la Sincronización Web para algunas Publicaciones (este entorno
son 100 Publicaciones, y 1000 potenciales Subscriptores con SQL Express,
utilizando particiones de datos, etc.). Resultó que la aplicación que
utilizaba la réplica, al crear las Subscripciones, ponía la URL con
mayúsculas y minúsculas (ej: www.Replica.Local). Lo cambiamos a
minúsculas, y funcionó a la primera (eso sí, hasta que me di cuenta que
en los equipos que funcionaba era por ese detalle ortográfico...). Desde
entonces recomiendo crear las Publicaciones especificando la URL en
minúsculas, el sitio web con la URL en minúsculas, el certificado digital
con la URL en minúsculas, y las Subscripciones con la URL en minúsculas.



Lo he probado, sigue igual

En el IIS, dentro del directorio dónde se encuentra el filtro isapi
utilizado para la réplica (replisapi.dll) existe un pequeño LOG de dicha
dll, que puede ser útil que lo consultes, para diagnósticos, etc. A mi me
ha servido en alguna ocasión, pero de muy tarde en tarde.



No veo nada clarificador

También puedes intentar ver información de diagnóstico en el ERRORLOG de
SQL Server, y en el visor de suscesos de las máquinas IIS, SQL Server y
de los equipos clientes. Aunque ten por seguro que tu problema está entre
el IIS y el equipo Subscriptor (lo que ocurre, es que el error que
muestras lo he vistos para muchos casos distintos es bastante
genérico).



Tampoco veo nada destacable

Por si te resulta cómodo y no lo conocieses, yo para realizar las pruebas
utilizo mucho la herramienta Sincronizar (Inicio -> Programas ->
Accesorios), ya que se integra con SQL Server, y te permite utilizarlo
como interfaz gráfico para invocar al agente de mezcla, en vez de
llamarlo a mano con todos sus parámetros, etc. Lo uso un montón para
diagnóstico en equipos con SQL Express (lástima que no incluya el SQL
Agent ésta edición de SQL Server lástima ;-)



Sí, la he utilizado y lo sigo haciendo, lo que pasa es que me pierdo un
poco con todas las autenticaciones que tiene. Aún así, tampoco sincroniza
desde aquí (da un error de inicio de sesión).

De momento poco más. Intenta ver algo más, y nos cuentas.




Bueno, estas primeras pruebas las he hecho con el servidor sql y el IIS en
un portátil (ambos en el mismo). Voy a probar con un servidor web en otro
equipo, volver a crear el certificado y a ver que pasa.

En teoría no debería preocuparme en exceso por esto, es decir, doy por
hecho que mis compañeros van a configurar como es debido IIS, con su
certificado válido, y que hecho así, no voy a tener problemas para acceder
desde fuera. Además, algunas suscripciones se van a hacer desde fuera por
https, pero otras van a estar en intranet y no va a haber problema (esta
ya la he probado y va bien).

Repito, muchas gracias por todo.

Saludos

http://www.moondance.tk


Respuesta Responder a este mensaje
#5 Juan Diego Bueno
14/04/2008 - 20:10 | Informe spam
Hablando de sincronización... casi lo escribimos a la vez.

Efectivamente, era lo que decías :)

Saludos

Juan Diego Bueno www.moondance.es
<GuilleSQL> escribió en el mensaje
news:
Hola Juan,

Por lo que cuentas, tengo claro que el error viene por el certificado. Es
decir, habriendo el menú opciones de Internet Explorer 7 (Tools ->
Internet Options) en la pestaña Contents, click en el botón Certificates.
En la ventana Certificates, colócate en la pestaña Trusted Root
Certification Authorities. En ésta pestaña, puedes ver la lista de
Entidates Certificadoras Raíz de Confianza.

Creo, que el error que te ocurre, es que no has conseguido importar el
certificado de la CA Root que utilizas en el Internet Explorer. En las
pruebas que realicé en su momento, me encontré que en algunas versiones de
Sistema Operativo / Navegador (no recuerdo el detalle de cuales), al darle
al botón de importar, se importaban bien, pero en otros casos se importaba
el certificado como Entidad Intermedia y NO como entidad raíz... y en ese
caso, fallaba !!

Si puedes, comprueba que tienes dado de alta tu CA Root en ésta lista, sea
una CA Root tuya propia (yo tengo la mía en mi laboratorio de pruebas, que
se llama VCA01, es una Windows Server 2003 standalone, y me aparece en
ésta lista), o sea un certificado autofirmado (creo que en ese caso
también aparece en dicha lista si se importa correctamente).

Un detalle: Si no recuerdo mal (así de cabeza), al hacerlo con el Internet
Explorer, estás importando el Certificado en la base de datos de
certificado del usuario (luego, en la misma máquina con otro usuario, el
certificado recién importado, ni lo hueles) mientras que por políticas
de Directorio Activo (las GPO de toda la vida), puedes importar el
certificado en la base de datos de certificados de la máquina (y así lo
importas una vez para todos los usuarios, mejor, no?).

Ya me cuentas, que me tienes intrigaoooooo !!

Saludos,
GuilleSQL
http://www.guillesql.es


"Juan Diego Bueno" wrote in message
news:
Hola Guille:

Ante todo, agradecerte tu tiempo al contestar y dar toda esta gama de
posibilidades :)

GuilleSQL ha utilizado su teclado para escribir :
Hola Juan,

Lo primero, te recomendaría que accedieses a la URL utilizada por el
filtro isapi de la réplica. Ej:

https://EPub/NombreSync/replisapi.dll'

Comprueba el mensaje que pueda darte Internet Explorer. Algunas de las
utilidades que generan certificados autofirmados, los generan con un
tiempo de vida de 7 días, es decir, después de 7 días el certificado
caduca y la réplica (perdón la Sincronización Web ;-) dejaría de
funcionar. Esta es una posible razón. También es posible que el usuario
que utilices para Sincronizar con el Agente de Mezcla, no tenga
permisos. Puedes abrir un Internet Explorer con dicho usuario, y
comprobar si tiene permisos de acceso o no a dicha DLL. Si no los tiene,
creo que tan sólo era necesario cambiar los permisos NTFS de
replisapi.dll... sino recuerdo mal... (sólo lo he tenido que hacer
alguna vez durante pruebas, y hace tiempo).



He probado esto y sigue en las mismas. Al entrar por el IE, como dije en
el post inicial, me avisa sobre el certificado, si le digo que lo quiero
usar aunque no sea de confianza, me pide usuario y contraseña (que son
del dominio propio del equipo donde está el servidor, es decir
NOMBREEQUIPO\usuario) y muestra el mensaje SQL Server WebSync ISAPI (nada
más). En el IE7, muestra arriba un mensaje de tipo "Error de
certificado". Dicho certificado lo he creado hace pocos días, menos de 7,
así que por eso no debería haber problema. Además, supuestamente caduca
en un año.

También tienes que tener en cuenta que el equipo cliente (subscriptor)
debe confiar en la entidad emisora del certificado que has utilizado. Si
utilizas un certificado autofirmado, en el equipo cliente deberás
importar el certificado. Esto se hace al acceder con Internet Explorer a
la URL de la réplica (por ejemplo), y si te da la opción de ver el
certificado (y si no le das al icono del candado del Internet Explorer),
pues al ver el certificado le das al botón de instalar certificado, y
fuera (siento no ser más claro, pero ni tengo aquí el entorno, ni tengo
aquí documentación, y además, depende de que versión de Internet
Explorer). En el caso de una aplicación empresarial (y no de un piloto),
podrías utilizar una CA Root o una Issue CA con Windows Server 2003, ya
sea independiente o integrada en directorio activo, y utilizar Políticas
(GPO) para hacer llegar el certificado a los equipos clientes
(dependiendo de la edición de Windows - 2000 ó 2003 - te será necesaria
la GPO para todos los dominios de tu organización o sólo para los
dominios distintos al dominio al que pertenece la CA).



Esto ya lo he hecho, y sigue en las mismas. Me lo importa correctamente,
pero cuando reinicio el navegador, vuelve a decirme lo mismo de siempre.

Doy por hecho que el certificado ha sido generado correctamente, es
decir, si deseamos acceder a una URL de https://www.replica.local, el
certificado se ha generado para dicho nombre, y no para el nombre de
máquina, u otro alias.



Esto... en la medida de lo poco que sé, creo que también está bien. Puedo
entrar igualmente en https://nombredeequipo. El certificado se creó a
partir de una solicitud desde el IIS. Después creé una autoridad
certificadora fantasma y lo que hace es darme un aviso sobre que "No se
puede encontrar el emisor del certificado".

También me encontré un día con un problema que poco sentido tenía.
Fallaba la Sincronización Web para algunas Publicaciones (este entorno
son 100 Publicaciones, y 1000 potenciales Subscriptores con SQL Express,
utilizando particiones de datos, etc.). Resultó que la aplicación que
utilizaba la réplica, al crear las Subscripciones, ponía la URL con
mayúsculas y minúsculas (ej: www.Replica.Local). Lo cambiamos a
minúsculas, y funcionó a la primera (eso sí, hasta que me di cuenta que
en los equipos que funcionaba era por ese detalle ortográfico...). Desde
entonces recomiendo crear las Publicaciones especificando la URL en
minúsculas, el sitio web con la URL en minúsculas, el certificado
digital con la URL en minúsculas, y las Subscripciones con la URL en
minúsculas.



Lo he probado, sigue igual

En el IIS, dentro del directorio dónde se encuentra el filtro isapi
utilizado para la réplica (replisapi.dll) existe un pequeño LOG de dicha
dll, que puede ser útil que lo consultes, para diagnósticos, etc. A mi
me ha servido en alguna ocasión, pero de muy tarde en tarde.



No veo nada clarificador

También puedes intentar ver información de diagnóstico en el ERRORLOG de
SQL Server, y en el visor de suscesos de las máquinas IIS, SQL Server y
de los equipos clientes. Aunque ten por seguro que tu problema está
entre el IIS y el equipo Subscriptor (lo que ocurre, es que el error que
muestras lo he vistos para muchos casos distintos es bastante
genérico).



Tampoco veo nada destacable

Por si te resulta cómodo y no lo conocieses, yo para realizar las
pruebas utilizo mucho la herramienta Sincronizar (Inicio -> Programas ->
Accesorios), ya que se integra con SQL Server, y te permite utilizarlo
como interfaz gráfico para invocar al agente de mezcla, en vez de
llamarlo a mano con todos sus parámetros, etc. Lo uso un montón para
diagnóstico en equipos con SQL Express (lástima que no incluya el SQL
Agent ésta edición de SQL Server lástima ;-)



Sí, la he utilizado y lo sigo haciendo, lo que pasa es que me pierdo un
poco con todas las autenticaciones que tiene. Aún así, tampoco sincroniza
desde aquí (da un error de inicio de sesión).

De momento poco más. Intenta ver algo más, y nos cuentas.




Bueno, estas primeras pruebas las he hecho con el servidor sql y el IIS
en un portátil (ambos en el mismo). Voy a probar con un servidor web en
otro equipo, volver a crear el certificado y a ver que pasa.

En teoría no debería preocuparme en exceso por esto, es decir, doy por
hecho que mis compañeros van a configurar como es debido IIS, con su
certificado válido, y que hecho así, no voy a tener problemas para
acceder desde fuera. Además, algunas suscripciones se van a hacer desde
fuera por https, pero otras van a estar en intranet y no va a haber
problema (esta ya la he probado y va bien).

Repito, muchas gracias por todo.

Saludos

http://www.moondance.tk






Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida