You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署Flask API到Vercel时routes[0].headers非对象错误求助

Flask API部署Vercel的CORS与routes.headers错误解决

问题原因

你在vercel.json的routes里把headers写成了数组格式,但Vercel的路由配置要求headers必须是键值对对象,这就是触发routes[0].headers不是对象报错的原因。

修正后的vercel.json配置

把headers从数组改成键值对对象即可解决:

{
    "version": 2,
    "builds": [
        {
            "src": "./index.py",
            "use": "@vercel/python"
        }
    ],
    "routes": [
        {
            "src": "/(.*)",
            "dest": "/",
            "headers": {
                "access-control-allow-origin": "*",
                "access-control-allow-methods": "GET, POST, PUT, DELETE, OPTIONS",
                "access-control-allow-headers": "Content-Type"
            }
        }
    ]
}

更稳妥的替代方案(推荐)

直接在Flask代码中处理CORS,避免依赖Vercel配置:

  1. 安装flask-cors库:
pip install flask-cors
  1. 在你的Flask应用中添加CORS配置:
from flask import Flask
from flask_cors import CORS

app = Flask(__name__)
CORS(app)  # 允许所有域名跨域,生产环境建议指定具体域名

# 你的API路由示例
@app.route('/')
def hello():
    return {"message": "Hello World"}

if __name__ == '__main__':
    app.run()

内容的提问来源于stack exchange,提问作者harshraoka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 17:10:20