Django nginx拒绝显示在框架中,因为它将“ X-Frame-Options”设置为“ SAMEORIGIN”

Man*_*pta 5 django nginx x-frame-options

我已经在具有nginx和uwsgi的服务器上部署了django Web应用程序。我可以使用ip地址完美访问该网站。

我购买了一个域名abc.example.com,并将其指向我的IP地址。现在,当我转到域名时,它将加载一个空白页面并在浏览器控制台中引发错误:

在Chrome中:

Refused to display 'ip address' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'.
Run Code Online (Sandbox Code Playgroud)

在Mozilla中:

Load denied by X-Frame-Options: 'ip address' does not permit cross-origin framing.
Run Code Online (Sandbox Code Playgroud)

关键是我在整个应用程序中没有任何iframe。

这是什么错误,我该如何解决?

当我使用ip地址转到应用程序时,它可以像预期的那样完美运行。那么域的问题是什么?我仔细检查了Godaddy的dns区域中的设置,但什么都没找到。

小智 30

在“settings.py”文件中,添加这两行。它可能会帮助你。

X_FRAME_OPTIONS = 'ALLOWALL'

XS_SHARING_ALLOWED_METHODS = ['POST','GET','OPTIONS', 'PUT', 'DELETE']
Run Code Online (Sandbox Code Playgroud)

  • X_FRAME_OPTIONS = 'SAMEORIGIN' 有效并且更安全。 (12认同)
  • 它的安全允许吗?我可以只允许一个特定的域吗?谢谢 (7认同)