HTTPS重定向不适用于页面中加载的图像

时间:2018-04-10 11:16:25

标签: iis https url-rewriting web-config

我知道,另一个HTTPS重定向不是工作问题。我已经有一段时间了,无法解决这个问题。

我的web.config中有以下重定向规则,用于将所有 HTTP流量重定向到HTTPS

  <rule name="HTTPS Redirect" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
      <match url="*" />
      <conditions logicalGrouping="MatchAny" trackAllCaptures="false">
          <add input="{HTTPS}" pattern="off" />
      </conditions>
      <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Found" />
  </rule>

这项工作很棒,无论我在HTTP上使用哪个URL,它都会重定向到HTTPS。除了从页面内部加载的图像之外的所有内容。查看下面的图片:

enter image description here

我有混合内容错误,因为从我的网站加载的所有图片都加载为HTTP。如果我右键单击其中一个图像,然后在新选项卡中打开,则图像将以HTTPS格式打开。如果我编辑图像URL以说出HTTP并点击返回,它会重定向到HTTPS并通过HTTPS加载图像。但由于某些原因,当图像通过页面加载时,它正在管理加载HTTP ??!

有人可以就这里发生的事情提供任何建议吗?

1 个答案:

答案 0 :(得分:2)

因此,浏览器不关心重定向链的终端连接对于HTTPS上的站点内的内容。如果文件的原始连接是HTTP,那么它会将其标记为不安全并抛出混合内容警告,即使它实际上终止于HTTPS。

直到我可以修复HTTP的所有实例,作为临时修复,我已经实现了标题

Content-Security-Policy: upgrade-insecure-requests

这会导致浏览器将站点内的HTTP链接升级到HTTPS,这已解决了我的混合内容警告。