ssl - 亚马逊小部件和 SSL

标签 ssl https widget certificate

我正在尝试将亚马逊“推荐产品”小部件嵌入到网站中。我们在网站的所有页面上都使用 SSL。

不幸的是,默认情况下,亚马逊小部件是使用简单的 IFrame 嵌入的,尽管 IFrame 的源可以是 https://,但 IFrame 中的图像和链接始终是 http ://

IFrame 示例代码

<iframe src="https://rcm-uk.amazon.co.uk/e/cm?t=june2k&o=2&p=16&l=st1&mode=books-uk&search=potter&f=ifr&f=ifr"
        width="468"
        height="336"
        border="0"
        frameborder="0"
        style="border:none"
        marginwidth="0"
        marginheight="0"
        scrolling="no"></iframe>

不用说,这会导致“内容不安全”警告、挂锁损坏等。

到目前为止,我能想出的唯一解决方案是使用服务器获取 IFrame 的内容,解析它并重写所有图像链接以指向本地处理程序,该处理程序又代理图片。这似乎是一种脆弱的方法,需要大量的处理开销。太恶心了。

有没有人有这方面的经验?这里有我想念的方法吗?我可以让亚马逊返回有效的 https:// url 吗?

如果我将图像 url 从 http 更改为 https,我会收到证书不匹配错误 - 图像似乎是从 Akamai CDN 提供的,证书的通用名称不是用于的主机名提供图像。

最佳答案

经过很多的挖掘,我在 Amazon 网站上找到了一个以 SSL 模式运行且没有错误的小部件版本。

查看 IFrame src 后,URL 有一个附加参数 internal=1。我没有在任何地方看到这个记录,但它似乎告诉小部件从 Amazon 的网络而不是 Akamai 的网络提供图像,并且支持 SSL。

网址应该是这样的:

https://rcm-uk.amazon.co.uk/e/cm?t=june2k&o=2&p=16&l=st1&mode=books-uk&search=potter&f=ifr&f=ifr&internal=1

关于ssl - 亚马逊小部件和 SSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3890003/

相关文章:

scala - 在 twitter finagle 中使用客户端证书

php - curl 和 pcntl_fork()

php - 特定页面始终为 https,而其他一些页面始终为 http

安卓:LED 不打开/关闭

c++ - 如何访问父控件元素?

java - 在 Java 中禁用证书验证的危险

SSL 问题 (openssl)

ssl - http -> https 后 nginx 没有找到静态内容

Javascript 代码抛出异常 - 访问被拒绝。仅限 HTTPS。仅限 Internet Explorer

python - 如何在事件中获取小部件名称?