烧瓶芯不发送飞行前CORS请求

时间:2019-03-03 14:13:33

标签: python flask server cors flask-cors

我想在我的Flask应用程序中仅允许本地主机作为access-control-allow-origin。我尝试在其他地方搜索此问题,但没有解决方案。我的代码非常简单明了,如下所示:

from flask import Flask
from routes.routes import *
from flask_cors import CORS


app = Flask(__name__)
CORS(app, resources={r"/*": {"origins": "http://localhost:3000"}})

app.wsgi_app = PrefixMiddleware(app.wsgi_app, prefix='/drax')

app.add_url_rule('/template/<actionId>/<actionName>', None, templateActions, methods=['GET'])

以上内容仅应允许来自localhost:3000的任何请求,而不允许来自其他任何地方的请求,例如localhost:8080。但是,即使我从端口8080(另一个Web应用程序)发出请求,它也允许该请求。

1 个答案:

答案 0 :(得分:0)

看起来您需要在请求中指定一个有效的http来源,如下所示:

CORS(
        app,
        supports_credentials=True,
        resources={
            r"/*": {
                "origins": [
                    "http://localhost:3000",
                    ""http://localhost"
                    "http://127.0.0.1:3000",
                    "http://127.0.0.1,

                ]
            }
        },
    )

我认为http://local不是有效来源