我有一个ASP.NET网站技术,我用于数十个客户端。每个客户都有自己的网站(核心网站的副本,然后可以自定义)。该网站包括从中央内容服务器加载的大量内容 - 关于健康和健康的文章。我可以从中央内容服务器加载这些文章的html,方法是从内容服务器复制,然后在生成时将文本插入页面。
到目前为止很容易。
但是,这些文章的图像引用指向中央服务器。我遇到的问题是由于这些网站总是通过SSL链接访问(每个页面)。当加载具有外部图像引用的页面时,访问者接收到该页面“包含安全和不安全元素”(或类似内容)的消息,因为图像来自(不安全的)服务器。实在是没办法解决这个问题。
所以,根据你的判断,最好是:
A)只是在内容服务器上放置一个证书,这样我就可以通过SSL获取图像了?由于页面内容有两个证书,是否存在问题?还有其他想法吗?
B)更改文章演示文稿页面的链接,以便它们不使用SSL?它们不需要SSL,但页面的左侧包含许多指向需要的页面的链接 - 所有这些链接都是相对链接。使它们成为绝对链接是很好的,因为每个客户的站点都有自己的URL,所以所有链接都需要在代码中生成(blech)。
C)其他我没有想到的东西?这就是我希望在该领域有经验的人能提供出色的东西!注意:我知道我无法摆脱有关不安全元素的警告 - 这是有原因的。我只是想知道是否有其他人在这方面有经验并且有合理的妥协或一些新见解。
答案 0 :(得分:1)
不确定这是多么可行但是可以使用重写或代理模块将每个克隆上的(img目录)结构镜像到中央。有了这样的规则,你可以使用相对的img urls代替&内部将对这些图像的所有请求以静默方式重写到中央服务器
e.g:
https://cloneA/banner.jpg -> http://central/static/banner.jpg
https://cloneB/topic7/img/header.jpg -> http://central/static/topic7/header.jpg
答案 1 :(得分:0)
我和B一起去。
可悲的是,我认为你会发现这是SSL生活中令人遗憾的事实。即使您将证书放在另一台服务器上,我认为它仍然可能因为不同的站点而感到困惑[虽然不能确认也不能否认],而且无论如何,您不想浪费您的媒体服务器的时间通过加密图像。
答案 2 :(得分:0)
在问到这个问题之后,我想出了一种完全不同的方式来导入图像。至少在IIS中,您可以设置基本上可以指向任何位置的“虚拟目录”(我现在正在评估是否在每个Web服务器或URL上使用专用目录)。如果我在每个服务器上使用一个专用目录,我将有三个目录来保持最新,但至少我没有70 +。
由于每个站点都会使用本地站点上的资源位置来提取图像,因此我不必担心更改任何页面的SSL状态。