2011-09-08 13 views
5

Tengo un cliente que, por razones específicas, necesita colocar un IFRAME apuntando a una página HTTPS en una página HTTP. La página HTTP está alojada en un dominio y servidor diferente a la página HTTPS, pero ambos pertenecen al mismo cliente.Secure IFRAME anidado en la página no segura

Dejando de lado las razones por las cuales este debe no se debe hacer, me resulta difícil de implementar en la práctica.

Como se puede ver en esta página: http://www.clevelandutilities.com/obppay.htm hay una HTTPS IFRAME en una página HTTP sin ningún tipo de advertencias desde el navegador (Firefox o IE). Sin embargo, si intento el mismo método, tanto Firefox como IE se quejan del certificado.

¿Alguna idea sobre por qué es eso? He examinado la fuente en ese sitio de muestra y puedo ver que no se está haciendo nada especial, sin embargo, si intento lo mismo, me entran graznidos. Además, si pongo el dominio que están usando (https://www.paybill.com/cu/), no se queja, si pongo nuestro dominio, se queja. ¿Son todos los certificados SSL creados iguales?

Para reducirlo, esto funciona sin advertencias:

<iframe src="https://www.paybill.com/cu/" width="100%" height="600" scrolling="auto"></iframe> 

esto no es así:

<iframe src="https://www.myclientdomain.com/somepage.php" width="100%" height="600" scrolling="auto"></iframe> 

Además, utilizamos un IFRAME al estilo de la aplicación de Facebook para pipa en este mismo HTTPS página, y eso funciona sin quejas sobre el certificado SSL. ¿Huh?

+0

Cuando visitas el origen del iframe ('https: // www.example.com/somepage.php') ¿recibes un error de certificado? Es posible que la CA del certificado no sea confiable. También podría ser útil si puede dar el mensaje de error: ¿es CA insegura, tiempo caducado, dominio incorrecto, etc.? – mjec

+0

Lo descubrimos y publicamos el motivo a continuación si tiene curiosidad./facepalm –

Respuesta

6

Después de cavar un poco, descubrimos que el certificado es específico para www .myclientdomain.com, y el desarrollador a cargo había utilizado en el ...src="https://myclientdomain.com"...IFRAME. Esta fue la causa de la siguiente "Conexión no es de confianza" pantalla de error:

Untrusted error screenshot

La práctica común para el dominio de host es nunca utilizar 'www' en la URL (forzada con .htaccess), mientras que el estándar para el dominio de origen (el que tiene el certificado) debe usarlo siempre (implementado con .htaccess). Eso es lo que llevó al otro desarrollador a dejarlo, eso es a lo que está acostumbrado en su sitio.

Si se hace clic en "Entiendo los riesgos", incluso una vez para el dominio de origen y se agrega la excepción del certificado, cualquier visita posterior debería haber llegado a htaccess y ser redireccionado a www-, por eso en mi (y computadora de otro desarrollador), la página cargaría bien y verificaría lo normal en Firebug mientras nuestro jefe recibía la advertencia. Ambos (al parecer) añadimos la excepción por una razón u otra en el pasado.

Cuando lo pusimos juntos, fue un verdadero momento facepalm. Gracias a todos los que pensaron en esta pregunta, lamento no haber comprobado los detalles con suficiente cuidado. :)

Cuestiones relacionadas