响应 header 名称 'Access-Control-Allow-Origin ' 包含无效字符,正在中止请求

Response header name 'Access-Control-Allow-Origin ' contains invalid characters, aborting request

我有一个 laravel 应用程序(部署在 heroku 上),我收到 500 Internal Server error.

当我检查我的日志时,我得到了标题中的错误方法:

Response header name 'Access-Control-Allow-Origin ' contains invalid characters, aborting request

我有一个 cors middleware,代码如下:

public function handle($request, Closure $next)
{
    header('Access-Control-Allow-Origin : *');
    header('Access-Control-Allow-Headers : Content-type, X-Auth-Token, Authorization, Origin');
    return $next($request);
}

我做错了什么?

也许问题是在:

之前额外的space

但实际上你应该修改你的中间件才能在"Laravel way"中做到这一点。而不是

header('Access-Control-Allow-Origin : *');
header('Access-Control-Allow-Headers : Content-type, X-Auth-Token, Authorization, Origin');
return $next($request);

你应该使用:

return $next($request)
      ->header('Access-Control-Allow-Origin', '*')
      ->header('Access-Control-Allow-Headers', 'Content-type, X-Auth-Token, Authorization, Origin');