我在我的网站上的IE9
中有这些错误:
SEC7111: HTTPS security is compromised by res://ieframe.dll/dnserrordiagoff.htm
SEC7111: HTTPS security is compromised by res://ieframe.dll/ErrorPageTemplate.css
SEC7111: HTTPS security is compromised by res://ieframe.dll/errorPageStrings.js
SEC7111: HTTPS security is compromised by res://ieframe.dll/httpErrorPagesScripts.js
SEC7111: HTTPS security is compromised by res://ieframe.dll/noConnect.png
SEC7111: HTTPS security is compromised by res://ieframe.dll/bullet.png
我知道这个错误的产生是因为我试图通过http
协议获取https
内容。但我无法在页面中看到可能导致此问题的任何地方。我调查过这个问题可以通过自定义浏览器来解决,但这不是一个好的解决方案。
有谁知道导致这些错误的原因是什么?
我的客户最近在IE的各种版本中都有SEC7111: HTTPS security is compromised by res://ieframe.dll/
问题,包括IE11 - 也可能是Edge,但现在它已修复我无法轻易检查 - 而且这个问题与X-Frame-Options无关,所有涉及的网站都使用了SSL并且没有混合的http + https内容错误。
在这种情况下,问题的根源是Internet Explorer安全区域信任级别。我工作的公司为一个拥有公司域的大型组织运行一个大型Web应用程序,我们的应用程序使用子域托管,例如crm.egcorporate.com
。
客户端还有www和其他egcorporate.com
子域的内部网和公共网站。他们还使用第三方在线学习管理系统,例如eglms.com
,在同一页面上iframe来自crm.egcorporate.com的一些内容,这些内容在两个系统的登台环境中运行良好,但是在生产中导致企业用户出错,但仅在使用时IE连接到其域控制器的计算机上。
问题是因为在其Active Directory组策略设置中,他们将*.egcorporate.com
设置为“本地Intranet安全区域”,并将eglms.com设置为“受信任的站点”安全区域。由于我们的应用程序的生产URL位于其AD域的子域中,因此它继承了IE中的本地Intranet信任设置,这意味着IE将不允许处于较低可信级别的LMS到iframe内部网内容。但IE11的愚蠢之处在于它试图显示其res://ieframe.dll/
...嵌入式错误页面告诉我们这一点,但随后阻止自己显示自己的错误页面,这就是SEC7111
错误然后告诉我们的。
在我们的案例中,解决方案是为企业IT人员添加更具体的crm.egcorporate.com
可信站点区域规则到他们的AD组策略(并让用户注销+再次登录),以便看到iframed内容和框架站点与IE相同的信任级别。
我们在分段中没有看到相同问题的原因是因为我们使用像egcorporate.staging.mycompany.com这样的URL,这显然不在其内部网安全区域设置中。
确保您在iframe中的内容允许将其放入框架中。
例如:X-Frame-Options:SAMEORIGIN
ref:https://developer.mozilla.org/en-US/docs/HTTP/X-Frame-Options