2016-09-17 59 views
0

我在localhost:8000上通過榆樹反應堆運行榆樹前端。它應該從localhost:8010上通過gunicorn運行的falcon後端加載json文件。這失敗了。與獵鷹網絡服務器在本地主機上違反了同源策略

的前端能夠加載由榆樹反應器(:8000),但提供的靜態虛擬文件時,我試圖通過實際的後端(:8010)它無法取代假人由於缺少標題:

跨源請求被阻止:同源策略不允許在http://localhost:8010/api/sheets處讀取遠程資源 。 (原因:缺少CORS 頭'Access-Control-Allow-Origin')。

從Firefox Inspector的錯誤消息似乎相當明確,但我很茫然如何解決這一問題。我已經在獵鷹中安裝了CORS中間件,但這並沒有改善這種情況。

from falcon_cors import CORS 
cors = CORS(allow_origins_list=['*']) 
api = falcon.API(middleware=[cors.middleware]) 

我也嘗試使用起源'localhost:8000''localhost'但既不工程。

任何想法如何解決這個問題?

回答

0

事實證明,falcon_cors提供allow_all_origins=True作爲參數。這解決了我的問題,但不是一個完美的解決方案。

當使用POST請求時,也應該設置allow_all_methods=True

1

試試這個。希望這能解決你的問題。

import falcon 
from falcon_cors import CORS 
cors = CORS(allow_origins_list=['http://localhost:8080', 'http://localhost:8000', 'http://localhost:8010'], allow_all_headers=True, allow_methods_list=['GET', 'POST', 'OPTIONS']) 
api = falcon.API(middleware=[cors.middleware]) 
相關問題