生产中的Laravel和Angular Cors错误

问题描述 投票:0回答:1

[您好,我的api位于laravel domain.com的域中,而我的子域具有角度视图。我已经通过以下方式配置了laravel的CORS:

public function handle($request, Closure $next)
  {
    return $next($request)
       //Url a la que se le dará acceso en las peticiones
      ->header("Access-Control-Allow-Origin", "*")
      //Métodos que a los que se da acceso
      ->header("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE")
      //Headers de la petición
      ->header("Access-Control-Allow-Headers", "X-Requested-With, Content-Type, X-Token-Auth, Authorization");

而且我的api的所有路由都具有我创建的cors

Route::group(['middleware' => ['cors']], function () { routes }

而且我也评论了我的Kernel.php的这一行

//\App\Http\Middleware\VerifyCsrfToken::class,

但是当我尝试在我的子域中发出请求时,它会出现

Access to XMLHttpRequest at 'https://example.com/api/get_info/124124' from origin 'http://subdomain.example.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

我在子域的附件中也有此设置

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>

在本地主机中,我的角度视图可以接收数据而不会阻止请求,但是当它在服务中时laravel会阻止所有请求。我的配置有问题吗?还是服务器有问题?还是我的htacces问题?

php angular laravel cors cpanel
1个回答
0
投票

根据您使用的Laravel版本,有以下软件包:https://github.com/fruitcake/laravel-cors ...现在,该软件包已内置到最新的Laravel中,如在文档中https://laravel.com/docs/7.x/routing#cors所示。重构选项吗?如果是这样,如果您使用的是较旧版本的Laravel,我强烈建议您使用fruitcake / laravel-cors软件包...或者可能的话甚至升级Laravel。

© www.soinside.com 2019 - 2024. All rights reserved.