代码之家  ›  专栏  ›  技术社区  ›  Budda

安全网站上的资源

  •  1
  • Budda  · 技术社区  · 15 年前

    我们在域中有一个网站,我们的名字是: 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连接传递的内容

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

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

    谢谢。任何想法都是受欢迎的。

    p.s.我正在使用ASP.NET 3.5,网站在Windows 2008下托管

    4 回复  |  直到 15 年前
        1
  •  1
  •   Joshua    15 年前

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

    例如,在以下位置创建目录 C:\inetpub\shared-static 并创建一个虚拟目录 /static 在每个网站下指向 C:\inetpub\共享静态 . 从那里两个网站都可以参考图片 ~/static/logo.png 对于共享内容是必要的。当目录中放置了一个新文件(或替换的文件)时,两个网站都将引用同一个文件。

        2
  •  2
  •   Bruno    15 年前

    你也需要在你的https站点上托管你的图片、css和脚本(更普遍的是,从网页上加载的内容),以避免混合的内容。

        3
  •  1
  •   eglasius    15 年前

    如果可以在主网站上启用HTTPS支持,则可以将HTTPS用于图像URL而不是HTTP。

    其他人建议的另一种方法是在服务时同步图像/或使用共享位置。

        4
  •  0
  •   Budda    15 年前

    我看到了解决方法:

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

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

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

    谢谢。

    推荐文章