【发布时间】:2011-11-13 08:38:20
【问题描述】:
我有一个客户端,由于特定原因,需要在 HTTP 页面上放置一个指向 HTTPS 页面的 IFRAME。 HTTP 页面与 HTTPS 页面托管在不同的域和服务器上,但都属于同一个客户端。
抛开这个不应该这样做的原因,我发现在实践中很难实施。
正如在此页面上看到的那样:http://www.clevelandutilities.com/obppay.htm 在 HTTP 页面上有一个 HTTPS IFRAME,而没有来自浏览器(Firefox 或 IE)的任何警告。但是,如果我尝试相同的方法,Firefox 和 IE 都会抱怨证书。
关于为什么会这样的任何想法?我已经检查了该示例站点的源代码,并且看不到有什么特别之处,但是如果我尝试同样的事情,我会发出尖叫声。此外,如果我输入他们正在使用的域 (https://www.paybill.com/cu/),它不会抱怨 - 如果我输入我们的域,它会抱怨。 所有的 SSL 证书都是一样的吗?
归结起来,这可以在没有警告的情况下工作:
<iframe src="https://www.paybill.com/cu/" width="100%" height="600" scrolling="auto"></iframe>
这不是:
<iframe src="https://www.myclientdomain.com/somepage.php" width="100%" height="600" scrolling="auto"></iframe>
此外,我们使用IFRAME 风格的 Facebook 应用程序通过管道连接到同一个 HTTPS 页面,这样就不会对 SSL 证书产生任何抱怨。啊?!
【问题讨论】:
-
当您访问 iframe 源 (
https://www.example.com/somepage.php) 时,您会收到证书错误吗?可能是证书 CA 未被正确信任。如果您可以提供错误消息,它也可能会有所帮助 - 它是不受信任的 CA、时间已过期、域错误等? -
我们想通了,如果您好奇,请在下面发布原因。 /掌脸
标签: iframe ssl cross-domain