我知道,另一个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。除了从页面内部加载的图像之外的所有内容。查看下面的图片:
我有混合内容错误,因为从我的网站加载的所有图片都加载为HTTP。如果我右键单击其中一个图像,然后在新选项卡中打开,则图像将以HTTPS格式打开。如果我编辑图像URL以说出HTTP并点击返回,它会重定向到HTTPS并通过HTTPS加载图像。但由于某些原因,当图像通过页面加载时,它正在管理加载HTTP ??!
有人可以就这里发生的事情提供任何建议吗?
答案 0 :(得分:2)
因此,浏览器不关心重定向链的终端连接对于HTTPS上的站点内的内容。如果文件的原始连接是HTTP,那么它会将其标记为不安全并抛出混合内容警告,即使它实际上终止于HTTPS。
直到我可以修复HTTP的所有实例,作为临时修复,我已经实现了标题
Content-Security-Policy: upgrade-insecure-requests
这会导致浏览器将站点内的HTTP链接升级到HTTPS,这已解决了我的混合内容警告。