2014-01-27 61 views
0

我有一个HTTPS网站,它使用Google图书API生成图书页面。但是,Google图书的图书封面图片只能通过HTTP获取,这会导致我网站上显示图书的任何页面出现混合内容警告。带有HTTP API内容的HTTPS页面:最佳做法

在这种情况下推荐的做法是什么?正如我所看到的,我有三种选择:

  1. 将其留作。我的页面在技术上对最终用户不安全,并会显示混合内容警告。

  2. 缓存我的服务器上的图像并显示本地副本给用户。这将删除混合内容警告,但似乎在这种情况下,我的服务器很容易受到MITM攻击,因为它通过HTTP下载内容。听起来不太吸引人。

  3. 停止使用API​​并从网站中删除整个功能。显然不是一个有吸引力的选择。

这些看起来都不错。是否有一些我不知道的魔术弹头解决方案?

回答

3

我会选择2作为最透明的。实际上,您不需要缓存(如果您不需要它),而只需要一个代理即可接收HTTPS请求,发送HTTP请求并将接收到的数据传回给HTTPS客户端。

+0

这会很好,很容易。但是,这似乎是非常不透明的。它给最终用户一个印象,即他们正在查看安全页面,实际上他们看到的是代理服务器后面隐藏的不安全内容。它似乎仍然具有与#1相同的安全问题。 – penco

+0

@penco它由你来决定,但对于选项1,你会一直困扰着人们。如果你想成为真诚的人,当他们第一次访问一个页面时,通过向他们展示一些横幅或警报来告知他们。 –

+0

他们正在查看安全页面。所有HTTPS都会确保其浏览器与服务器之间的连接已加密 - 它不保证超出该范围的加密(例如,参见Gmail)。 IMO选项1并不好,就好像它们同意查看混合内容一样,它们不再能够确保它们与服务器的连接已加密(它们不再知道除书籍封面图像外是否还有其他任何仅HTTP内容)。 – SilverlightFox