我的网站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
内容。但我无法在页面中看到可能导致此问题的任何地方。
我调查过这个问题可以通过自定义浏览器来解决,但这不是一个好的解决方案。
有谁知道造成这些错误的原因是什么?
答案 0 :(得分:0)
我的一个客户最近在各种版本的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位于较低的 Trusted 级别到iframe Intranet 内容。但IE11的愚蠢之处在于它试图显示其res://ieframe.dll/
...嵌入式错误页面告诉我们这一点,但随后阻止自己显示自己的错误页面,这就是SEC7111
错误然后告诉我们。
在我们的案例中,解决方案是为公司IT人员添加更具体的crm.egcorporate.com
可信站点区域规则到他们的AD组策略(并让用户注销+再次登录),使iframed内容和框架网站被IE视为同一信任级别。
我们在分段中没有看到相同问题的原因是因为我们使用像egcorporate.staging.mycompany.com这样的网站,这显然没有被其内部网安全区域设置所覆盖。
答案 1 :(得分:0)
要检查的另一件事是,不要将标题X-Frame-Options设置为拒绝,如下所示:
X-Frame-Options:DENY
另请参见https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options
答案 2 :(得分:-1)
确保您在iframe中的内容允许将其置于框架内。
ex:X-Frame-Options:SAMEORIGIN
参考:https://developer.mozilla.org/en-US/docs/HTTP/X-Frame-Options