1

我们在域中有一个网站,我们命名为:http://website.com。有必要在另一个网站 ( https://custom.website.com ) 上实现相同的外观。正如我们所见,第二个在第一个的子域中,但它是安全的(它使用 https)。

为了实现相同的外观和感觉,两个网站都使用相同的 DLL。这些 DLL 包含菜单、JavaScript 等功能。但是第二个网站使用了第一个网站的图像和一些 css 文件。例如,为了显示“Logo.png”而不是通常的“~/Images/Logo.png”,将以下文件路径呈现为 HTML:“ http://website.com/Images/Logo.png

所有的东西都是在本地环境中完成的,并且工作完美(http://localhost/指的是http://website.com)。

但是,当网站部署到“真实”(开发)环境时,我们感到惊讶:IE 通知:

网页包含不会使用安全 HTTPS 连接传送的内容

我看到了解决问题的选项:我们可以将图像包含到安全网站中并在本地使用它们,但在这种情况下,如果主网站上发生更改,我们将需要重新部署。

问题:是否有任何解决方法,我们如何从安全网站使用位于非安全网站上的图像。

谢谢。欢迎任何想法。

PS 我使用的是 ASP.NET 3.5,网站托管在 Windows 2008 下

4

4 回答 4

2

您还需要在 HTTPS 站点上托管您的图像、CSS 和脚本(更一般地说,是从网页加载的任何内容)以避免混合内容。

于 2010-09-13T14:43:45.900 回答
1

根据安全和隔离级别,您可以为指向同一物理位置的两个网站设置共享虚拟目录。

例如,在每个C:\inetpub\shared-static指向. 从那里,两个网站都可以根据共享内容的需要来引用图像。当目录中放置了新文件(或替换文件)时,两个网站将引用同一个文件。/staticC:\inetpub\shared-static~/static/logo.png

于 2010-09-13T19:04:42.900 回答
1

如果您可以在主网站上启用对 https 的支持,则可以使用 https 作为图像 url 而不是 http。

其他人建议的替代方法是在提供图像时同步图像/或使用共享位置。

于 2010-09-13T19:52:05.550 回答
0

我看到解决方法:

在第二个网站上实现功能,将检查(每天或每小时一次)自己的图像是否是最新的,并在必要时更新它们......

这是一项工作,但有了这样的解决方案,网站将更容易支持。

如果您看到更好的选择,请告诉我。

谢谢。

于 2010-09-13T15:45:13.007 回答