我有一个经典的asp网站和一个MVC网络应用程序。我在开发环境中将它们作为localhost本地托管。我也在远程服务器上设置了它们。
以下是我的应用的网址列表:
我想要做的是让我的MVC应用程序在我的经典asp网站的一个页面上的iframe中运行。
“此内容无法在框架中显示。
为帮助保护您在本网站上输入的信息的安全性,此内容的发布者不允许将其显示在框架中“
在这种情况下,我使用“http://ServerName/MvcAppName/Dir/SubDir”作为在我的iframe中执行的网址,iframe位于“http://localhost/AspAppName/SomePage.asp”
错误显示在IE中。在Firefox和Chrome中,iframe区域只是空白。
仅用于测试目的,看看这些是否是一些跨域限制/设置我尝试将我的经典asp站点托管在远程服务器(http://ServerName/AspAppName/RandomPage.asp)上,在我本地托管的经典asp站点的iframe中{{{ 3}})。在这种情况下,我没有看到任何错误,本地asp网站显示iframe内容与远程托管的asp页面没有任何问题。
以下是本地计算机上IIS的一些应用程序池信息:
以下是远程服务器上IIS的一些应用程序池信息:
我非常感谢有关在我本地运行的asp网站的iframe中嵌套远程运行的MVC应用程序可能导致我的问题的任何建议。
答案 0 :(得分:0)
听起来您需要从网站中返回无法在iframe中显示的X-Frame-Options标头。此页面显示可用选项以及如何在各种服务器(包括IIS)中进行设置。
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options
答案 1 :(得分:0)
事实证明,X-Frame-Options设置被自动覆盖。要关闭它,我必须在Global.asax.cs中将以下行添加到Application_Start。
AntiForgeryConfig.SuppressXFrameOptionsHeader = true;