首页 > 解决方案 > 用于子域 API 的 Laravel CORS

问题描述

我正在使用 Laravel 使用 Lighthouse 来提供 GraphQL API。当我在主域中使用 grapqhl 作为 URI 时,一切正常,但是当我在子域中使用它时,例如。grapql.app.test我得到下一个错误:

CORS 策略已阻止从源“http://app.test”获取“http://graphql.app.test/”的访问权限:对预检请求的响应未通过访问控制检查:没有“访问权限-控制-允许-原点'

我的config\cors

'paths' => ['api/*','graphql'],
'allowed_methods' => ['*'],
'allowed_origins' => ['*'],
'allowed_origins_patterns' => [],
'allowed_headers' => ['*'],
'exposed_headers' => [],
'max_age' => 0,
'supports_credentials' => false,

我该如何解决这个问题?

我正在使用 laravel 8。

标签: laravelgraphqlcorslaravel-lighthouselaravel-8

解决方案


如果有人对此有疑问,您需要添加您将使用的路径。在我的情况下,/由于我的 API 位于grapql.app.test.

结果代码:

'paths' => ['api/*','graphql','/'],
'allowed_methods' => ['*'],
'allowed_origins' => ['http://app.test'],
'allowed_origins_patterns' => [],
'allowed_headers' => ['*'],
'exposed_headers' => [],
'max_age' => 0,
'supports_credentials' => false,

推荐阅读