在本地主机上使用猎鹰服务器违反了同源策略



我在localhost:8000上通过elm-reactor运行elm前端。它应该从一个通过gunicorn在localhost:8010上运行的猎鹰后端加载json文件。这个操作失败。

前端能够加载由elm-reactor (:8000)服务的静态虚拟文件,但当我试图通过实际后端(:8010)替换虚拟时,由于缺少标头而失败:

Cross-Origin Request Blocked:同源策略禁止读取远端资源为http://localhost:8010/api/sheets。(原因:歌珥标题'Access-Control-Allow-Origin'丢失).

来自Firefox检查器的错误信息似乎相当清楚,但我不知道如何修复它。我已经在falcon中安装了一个CORS中间件,但这根本没有改善这种情况。

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

我也尝试使用'localhost:8000''localhost'的起源,但都不工作。

你知道怎么解决这个问题吗?

试试这个。希望这将解决您的问题。

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])

结果是falcon_cors提供了allow_all_origins=True作为参数。这解决了我的问题,但不是一个完美的解决方案。

当使用POST请求时,也应该设置allow_all_methods=True

相关内容

  • 没有找到相关文章

最新更新