X-FRAME-OPTIONS: DENY 通过 nginx 来自 Django 站点在哪里?

43T*_*cts 4 django iframe nginx http-headers

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

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

我不知道拒绝来自哪里。

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

MIDDLEWARE_CLASSES = (
    ...
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    ...
)
Run Code Online (Sandbox Code Playgroud)

其中:“默认情况下,中间件将为每个传出的 HttpResponse 将 X-Frame-Options 标头设置为 SAMEORIGIN。”

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

add_header X-Frame-Options SAMEORIGIN;
Run Code Online (Sandbox Code Playgroud)

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

如何找到此拒绝设置的来源?

小智 7

在我的情况下,问题出在文件中:/etc/nginx/snippets/ssl-params.conf

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