IIS服务器上的图像不保持HTTPS协议

当使用HTTPS连接时,我们收到以下警告:

“您的连接使用128位encryption进行encryption,但是,此页面包含其他不安全的资源。”

问题:我们将问题缩小到了SSL页面上的图像。 如果我们将SSL URL粘贴到浏览器中,它将redirect到非SSL连接。

例如:我们将“ https://www.example.com/images/checkout.gif ”粘贴到浏览器中,并立即redirect到“ http://www.example.com/images/checkout.gif

我们正在运行以下服务器规格:

服务器: Windows Server 2003networking版

IIS版本: 6.0

我们检查了configuration设置,一切似乎都没有问题。

编辑:我们在本地服务器上试过这个相同的问题,redirect不会发生。 使用“HttpFox”firefox插件,我们看到在生产服务器上,我们收到了从https到http的302redirect。 当我们在本地服务器上执行相同的testing时,302redirect不会发生。 检查两台服务器上的IIS 6configuration显示没有区别。

需要更多的信息,所以这可能是时候打破差异引擎。

从microsoft.com获取Web部署工具(MSDEPLOY),并从正常工作的Web服务器创build一个包。

然后,使用-whatif进行msdeploy -verb:sync,将软件包与prod服务器进行比较,并显示configuration的差异。

如果没有区别,他们将performance一致。 不是,所以只有一个,这不是你迄今看到的地方。

事实certificate,这个问题是由我们不知道我们有一个SSL模块造成的。 有问题的模块被命名为secureWebPages 。 我们不得不向组件添加额外的path,以确保图像,脚本和样式以https的forms出现。 我们改变了我们的configuration文件…

<secureWebPages enabled="true" xdt:Transform="Insert"> <directory path="/checkout" /> </secureWebPages> 

至 …

 <secureWebPages enabled="true" xdt:Transform="Insert"> <directory path="/images" ignore="true" /> <directory path="/styles" ignore="true" /> <directory path="/scripts" ignore="true" /> <directory path="/checkout" /> </secureWebPages>