【问题标题】:Where is X-FRAME-OPTIONS: DENY coming from on Django site via nginx?X-FRAME-OPTIONS: DENY 来自 Django 站点通过 nginx 在哪里?
【发布时间】:2017-04-03 17:33:33
【问题描述】:

我的 Django 站点在 iframe 中使用 django-summernote,并抛出此错误:

具有冲突值的多个“X-Frame-Options”标头 ('SAMEORIGIN, DENY') 加载时遇到 'http://example.com/summernote/editor/id_comment_text/'。后退 到“拒绝”。

我不知道 DENY 是从哪里来的。

在我的 Django 项目设置中,我有:

MIDDLEWARE_CLASSES = (
    ...
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    ...
)

其中:“By default, the middleware will set the X-Frame-Options header to SAMEORIGIN for every outgoing HttpResponse。”

我还在我的 nginx.conf 中添加了这个(来自here):

add_header X-Frame-Options SAMEORIGIN;

其他可能相关的信息:当我将服务器从 Ubuntu 14.04 升级到 16.04 以及项目的虚拟环境从 Python 3.4 升级到 Python 3.5 时,出现了问题。 Django 和 django-summernote 的版本还是一样的。

如何找到此 DENY 设置的来源?

【问题讨论】:

  • 我遇到了同样的问题,@43Tesseracts - 你知道发生了什么吗?
  • 是的! nginx 正在使用多个 conf 文件。我只是在查看我的自定义 nginx.conf 文件,但这被另一个 conf 文件所取代。抱歉,我不记得具体情况,目前无法访问服务器。
  • 如果发生这种情况,必须查看所有相关的 nginx 配置文件并检查所有 add_headers。

标签: django iframe nginx http-headers


【解决方案1】:

就我而言,问题出在文件中: /etc/nginx/sn-ps/ssl-params.conf

只需要注释掉: add_header X-Frame-Options DENY;

【讨论】:

  • 这也解决了我的问题。此选项会覆盖 /etc/nginx/nginx.conf 中的内容
猜你喜欢
  • 1970-01-01
  • 2017-07-25
  • 1970-01-01
  • 1970-01-01
  • 2016-09-07
  • 2017-04-05
  • 2013-02-15
  • 1970-01-01
  • 2017-07-29
相关资源
最近更新 更多