我正在从旧的 SecureWebPages 进行升级,它通过 web.config 自动在 Http 和 Https 内容之间切换。
出于某种奇怪的原因,内容如下:
<link type="text/css" href="assets/css/style.css" rel="stylesheet" />
不再自动从适当的 https 位置加载。 Google Chrome 中的控制台向我显示了以下内容:
The page at https://website.com/UserAccess.aspx ran insecure content from http://website.com/assets/css/style.css.
当我使用较旧的 SecureWebPages 时,此行为不存在。在过去,上面的 CSS 语句工作正常,没有任何错误。
我的 web.config:
<securitySwitch mode="RemoteOnly">
<paths>
<add path="~/Register.aspx"/>
<add path="~/SSL.Master"/>
</paths>
我的配置有问题吗?请指教。谢谢!
最佳答案
您需要告诉 SecuritySwitch 忽略您的 CSS 文件夹,甚至忽略整个 Assets 文件夹(如果它还包含图像等)。您可以将以下路径添加到 Assets 文件夹的 securitySwitch 部分。
<securitySwitch mode="RemoteOnly">
<paths>
<add path="~/Register.aspx"/>
<add path="~/assets/" security="Ignore"/>
</paths>
</securitySwitch>
这将告诉 SecuritySwitch 忽略 Assets 文件夹及其下的所有内容。此外,主文件的路径不会执行任何操作,因为 .master 文件永远不会提供给浏览器。
希望这会有所帮助!
关于asp.net - 资源不会自动从 Https 加载 - SecuritySwitch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9109410/