簡體   English   中英

Django Rest Framework,Swagger和CORS

[英]Django Rest Framework, Swagger and CORS

我正在使用集成了Django Rest Framework ver. 3.2.5 Django 1.6開發一個項目Django Rest Framework ver. 3.2.5 Django Rest Framework ver. 3.2.5和兼容的Django Rest Swagger版本 ver. 0.3.6 ver. 0.3.6 在本地計算機上進行開發或從docker容器運行項目時,Swagger會正確顯示端點描述,但是在遠程服務器上打開api描述URL時,我會收到:

Can't read from server. It may not have the appropriate access-control-origin settings.

在此處輸入圖片說明

從具有類似問題的問題中,我發現可以通過安裝django-cors-headers來解決此問題。

我已將corsheaders添加到INSTALLED APPS ,將'corsheaders.middleware.CorsMiddleware'MIDDLEWARE_CLASSESCORS_ORIGIN_ALLOW_ALL = True到項目設置中,但仍收到與以前相同的消息,我應如何配置corsheaders解決此問題?

值得注意的是:如果我將醒目的路徑中的協議更改為https ,則會看到端點: 將HTTP替換為https

但是說明無法擴展,控制台中每個端點都有特定類型的錯誤: 在此處輸入圖片說明

我通過啟用https(在我的docker-compose文件中)解決了這個問題:

HTTPS=on

並通過在nginx配置中設置SSL:

proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Ssl $https;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM