Laravel 子域的 CORS API
Laravel CORS for subdomain API
我正在使用 Laravel 服务 GraphQL API,使用 Lighthouse。当我在主域中使用 grapqhl 作为 URI 时,一切正常,但是当我在子域中使用它时,例如。 grapql.app.test
我收到下一个错误:
Access to fetch at 'http://graphql.app.test/' from origin
'http://app.test' has been blocked by CORS policy: Response to
preflight request doesn't pass access control check: No
'Access-Control-Allow-Origin'
我的config\cors
:
'paths' => ['api/*','graphql'],
'allowed_methods' => ['*'],
'allowed_origins' => ['*'],
'allowed_origins_patterns' => [],
'allowed_headers' => ['*'],
'exposed_headers' => [],
'max_age' => 0,
'supports_credentials' => false,
我该如何解决这个问题?
我正在使用 laravel 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,
如果有人使用 Laravel 8+ 遇到此问题,请确保 API URL 在客户端请求中不以斜线结尾,即代替 https://someapi/endpoint/ 应该是 https:///someapi/endpoint
我正在使用 Laravel 服务 GraphQL API,使用 Lighthouse。当我在主域中使用 grapqhl 作为 URI 时,一切正常,但是当我在子域中使用它时,例如。 grapql.app.test
我收到下一个错误:
Access to fetch at 'http://graphql.app.test/' from origin 'http://app.test' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin'
我的config\cors
:
'paths' => ['api/*','graphql'],
'allowed_methods' => ['*'],
'allowed_origins' => ['*'],
'allowed_origins_patterns' => [],
'allowed_headers' => ['*'],
'exposed_headers' => [],
'max_age' => 0,
'supports_credentials' => false,
我该如何解决这个问题?
我正在使用 laravel 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,
如果有人使用 Laravel 8+ 遇到此问题,请确保 API URL 在客户端请求中不以斜线结尾,即代替 https://someapi/endpoint/ 应该是 https:///someapi/endpoint