如何在安全站点中提供没有https的静态内容?


8

我想从我的网站提供静态内容,但是我的网站仅支持https。我的静态http服务器仅提供http内容(非https),但是许多IE用户抱怨无法登录。

我需要做什么?我应该将https添加到我的静态内容http服务器吗?

Answers:


13

我认为Internet Explorer和其他一些浏览器会https在从使用协议提供站点资产时向用户发出警告http。最好的解决方案是允许您的静态资产服务器提供安全的内容并让您的站点使用一致的协议。第二个最佳解决方案是在安全站点上创建一个页面作为代理,基本上,您需要创建一个动态页面来调用外部页面或资产,并通过该代理返回它。该页面的编写方式取决于安全服务器上可用的动态编程语言。

基本上,IE在混合协议方面存在合法的安全问题。它知道它可以信任https服务器,但是不信任该服务器http


1
其他浏览器对于混合内容的降级方式则噪音较小,通常会修改“挂锁”图标的行为,只有一半的互联网人群会关注该图标。我同意IE通过发出明显的警告来做“正确的事情(TM)”。没错,有些元素是安全发送的,有些不是。
蒂姆·波斯特

使用HTTPS时,本机支持越早将cookie阻止到HTTP,该消息就越早消失并停止引起问题。它甚至不希望额外的HTTP标头用于从HTTPS页提供的静态内容。
Metalshark,2010年

2
@Metalshark:不仅仅是关于cookie。当您查看HTTPS页面时,您希望能够信任它所说的一切。例如,有人可以伪造图像并替换其显示/说出的内容。您还希望链接到受信任的,未更改的脚本。
布鲁诺2012年

0

我认为您需要澄清您的想法,因为您的问题确实没有道理。

静态和安全不是互相排斥的,甚至不是相互关联的。您可以具有安全的静态内容和非安全的非静态内容。安全仅表示已加密(SSL,即https)。静态意味着它不是针对客户端的每个请求生成的。这是两个根本不同的概念。

如果您不混淆术语,那么我会问为什么您的安全服务器不能提供静态内容。我的猜测是这样,因此您只需要将静态内容放到安全服务器上,然后浏览器就不会抱怨混合的http / https内容,因为它们都是https。如果在安全服务器上确实存在一些技术限制可以阻止它提供静态内容(例如,它甚至不能提供CSS文件),那么可以,您应该考虑将SSL添加到正在使用的其他服务器上。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.