我们asp.net网站上的登录页面使用https –而我们几乎所有其他页面都不使用。在此登录页面上,IE8用户收到“您是否只想查看安全交付的网页内容?”消息。许多用户出于习惯按下“是”,这破坏了我们的登录页面。我知道问题源于ScriptManager生成的WebResource.axd和ScriptResource.axd脚本标签。
我尝试了所有引用ScriptResource.axd / WebResource.axd的方法-但是无论我做什么,我都会收到相同的IE8警告-一些示例:
<script src='https://www.mysite.org/ScriptResource.axd?123' type="text/javascript"></script>
<script src=' /ScriptResource.axd?123' type="text/javascript"></script>
<script src=' //www.mysite.org/ScriptResource.axd?123' type="text/javascript"></script>
<script src=' ../ScriptResource.axd?123' type="text/javascript"></script>
这是simple page with no axd script (no IE8 prompt)和another page with the same markup and a single axd script (produces the IE8 prompt)的示例。
认为iis中可能会对AXD文件进行一些奇怪的重定向-我什至尝试了response.redirects重定向axd请求以保护global.asax中的网址。 Application_BeginRequest无效。
有谁知道一种包含脚本管理器生成的ScriptResource.axd / WebResource.axd脚本的方式,而不会触发“您只想查看安全交付的网页内容吗?” IE8消息?谢谢!
最佳答案
从流量来看,正在将ScriptResource.axd的https请求重定向到等效的http。我不知道会执行此操作的特定于ScriptResourceHandler的任何设置,而且我知道我们一直在通过https一直使用MS AJAX脚本,而不会出现问题。我会尝试暂时删除您必须查看它是否继续重定向的所有Application_BeginRequest处理程序。