2016-11-20 32 views
2

我的Django的網站iframe中使用django-summernote,並引發此錯誤:X-FRAME-OPTIONS在哪裏:DENY是通過nginx從Django站點來的?

Multiple 'X-Frame-Options' headers with conflicting values ('SAMEORIGIN, DENY') encountered when loading ' http://example.com/summernote/editor/id_comment_text/ '. Falling back to '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設置的來源?

+0

我遇到了同樣的問題,@ 43Tesseracts - 你有沒有想過發生了什麼? –

+0

是的! nginx使用了多個conf文件。我只看着我的自定義nginx.conf文件,但是這被另一個conf文件覆蓋了。對不起,我不記得具體細節,目前無法訪問服務器。 – 43Tesseracts

+0

如果發生這種情況,必須查看所有相關的nginx配置文件並檢查所有的add_headers。 – Flux

回答

1

在我的情況下,問題是這樣的文件: /etc/nginx/snippets/ssl-params.conf

就不得不註釋掉: add_header X框,選擇DENY;