我没有在nginx的任何地方将x-frame-options显式设置为sameorigin,但是nginx阻止了在iframe中呈现的html页面。尝试在X-Frame-Options中指定域,但没有运气。如果有帮助,请在控制台中给出几个错误。我通读了它们并尝试了修复,但没有用。
https://preview.codecanyon.net/item/product-name/product-id
它在iframe中预览我的HTML页面。
答案 0 :(得分:0)
问题不是关于X-Frame-Options,而是Content-Security-Policy。 Codecanyon设置了一个CSP标头,以防止其他站点可以在其站点中进行构架。即使您在XFO标头中允许所有网站,它们也可以使用CSP标头阻止您的网站在其网站中显示。
但是这是一个市场,他们必须为开发人员提供一种在预览页面中包含iframe的方式。似乎他们没有实现开发人员在预览页面中提供frame-src的方法。因此,Codecanyon的CSP标头处于“仅报告”模式。一切正常,尽管您从Chrome开发者控制台看到很多错误。
顺便说一句,您实现了语法错误的CSP标头:开始时出现了意外的标点符号。
答案 1 :(得分:0)
如果有帮助,我后来发现将框架祖先设置为该特定域可以使该域在iframe中显示页面。您可以在Nginx配置文件中做到这一点。