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

跨域调用Laravel登录路由遇CORS错误,求解决方案

解决Laravel与Next.js跨域CORS问题

针对你Next.js应用调用Laravel登录路由出现的CORS错误,按以下步骤处理:

1. 配置Laravel的CORS规则

打开config/cors.php文件,修改关键配置项:

  • paths:添加登录路由路径,确保包含'login'
  • allowed_origins:设置为你的Next.js应用域名(开发环境可临时用'*',生产环境需指定具体域名)
  • allowed_methods:包含'GET'(匹配你的请求类型)
  • allowed_headers:加入自定义请求头'x-api-signature'
  • supports_credentials:若需携带Cookie等凭证,设为true

示例配置片段:

return [
    'paths' => ['api/*', 'login'],
    'allowed_methods' => ['GET', 'POST', 'PUT', 'DELETE'],
    'allowed_origins' => ['http://localhost:3000'],
    'allowed_origins_patterns' => [],
    'allowed_headers' => ['Content-Type', 'X-API-Signature'],
    'exposed_headers' => [],
    'max_age' => 0,
    'supports_credentials' => true,
];

2. 确保CORS中间件生效

打开app/Http/Kernel.php,将HandleCors中间件添加到web中间件组(你的登录路由属于web路由组):

protected $middlewareGroups = [
    'web' => [
        // 保留原有中间件...
        \Illuminate\Http\Middleware\HandleCors::class,
    ],
    // api组配置保持不变...
];

3. 验证请求配置

确认Next.js端请求:

  • Laravel服务地址无误
  • 自定义头x-api-signature的拼写与Laravel配置一致(注意大小写一致性)

完成配置后重启Laravel服务,重新测试请求即可解决CORS错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 05:05:37