2017-03-07 46 views
0

我有一个网站托管在外部服务器上,我希望能够从本地开发环境(本地主机)运行它(在iframe中)。不幸的是,当我尝试使用iframe加载页面时,我在框架内容中收到“此内容无法在框架中显示”消息。我该如何解决这个问题?如何让我的网站嵌入到iframe中?

使用iframe的本地网站是传统的asp,而托管在外部服务器上的网站是MVC4。我只在尝试iframe MVC4网络应用程序时出现错误。当我尝试iframe与MVC4应用程序位于同一服务器(相同域)上的经典asp网站时,我没有遇到任何错误。

回答

0

Mozilla Developer Network,有哪些均可支持<frame>, <iframe> or <object>元素三个选项:

第一个和最后一个绝对不是你需要的。 我试图用一个本地服务器用来访问另一个本地服务器:

X-Frame-Options: ALLOW-FROM http://localhost/

我得到了响应:'allow-from http://localhost/' is not a recognized directive. The header will be ignored.

它排序的工作,因为头被忽略,但你必须评估这是否适合您的网站。在这种情况下,请求服务器不发送该头部会更简单。但只有在了解了项目的后果后才能做到这一点。

IIS它可以通过web.config加上:

对于阿帕奇,看到this topic

记住,它是由Web浏览器兑现头。 Mozilla甚至称:

只有当访问文档的用户正在使用支持X-Frame-Options的浏览器时才会提供增加的安全性。

我相信Edge比Webkit更受这个规则的限制。

+0

我测试了X-Frame-Options,但没有奏效。有趣的是,当我尝试在iframe中对我的MVC4 Web应用程序进行iframe时,我只收到错误消息。如果我切换到与MVC4 Web应用程序位于同一服务器上的.asp页面,则不会显示获取iframe内容的问题。我将编辑我的问题,以便它包含信息。无论如何,谢谢你回答Reuel。 – Peter

0

原来是修复的是使用SuppressXFrameOptionsHeader来确保XFrameOptionsHeader设置不会被自动覆盖。