Php Laravel Production,CORS编号';访问控制允许原点';标题
在Heroku上部署我的LaravelAPI应用程序后,它似乎与Cors有问题。这在开发中没有问题,我仍然可以在postman上使用部署的应用程序,但不能通过我的Angular应用程序上的常规HTTP请求 我的Cors.php是尚未修改的Php Laravel Production,CORS编号';访问控制允许原点';标题,php,laravel,http,heroku,cors,Php,Laravel,Http,Heroku,Cors,在Heroku上部署我的LaravelAPI应用程序后,它似乎与Cors有问题。这在开发中没有问题,我仍然可以在postman上使用部署的应用程序,但不能通过我的Angular应用程序上的常规HTTP请求 我的Cors.php是尚未修改的 'paths' => ['api/*', 'sanctum/csrf-cookie'], 'allowed_methods' => ['*'], 'allowed_origins' => ['*'], '
'paths' => ['api/*', 'sanctum/csrf-cookie'],
'allowed_methods' => ['*'],
'allowed_origins' => ['*'],
'allowed_origins_patterns' => ['*'],
'allowed_headers' => ['*'],
'exposed_headers' => [],
'max_age' => 0,
'supports_credentials' => true,
我的Kernel.php使用HandleCors类
protected $middleware = [
// \App\Http\Middleware\TrustHosts::class,
\Fruitcake\Cors\HandleCors::class,
\App\Http\Middleware\TrustProxies::class,
\App\Http\Middleware\PreventRequestsDuringMaintenance::class,
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
\App\Http\Middleware\TrimStrings::class,
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
];
我不确定我的angular应用程序是否需要进一步更改,因为它在postman上工作,所以调用如下
// User registration
register(user: User): Observable<any> {
return this.http.post('https://secure-fortress-48055.herokuapp.com/api/register', user);
}
//用户注册
寄存器(用户:用户):可观察{
返回此.http.post('https://secure-fortress-48055.herokuapp.com/api/register",用户),;
}
关于如何解决这个问题有什么想法吗?你能发布你的.env文件吗? 我认为您需要修改.env文件并更改以下代码
APP_URL=http://localhost
到
您还需要更改Cors.php
'exposed_headers' => [],
到
也许这会帮助您我通过在api.php路由中添加头来解决这个问题
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST, GET, OPTIONS, PUT, PATCH, DELETE');
header('Access-Control-Allow-Headers: Accept, Content-Type, X-Auth-Token, Origin, Authorization');
也许不是最优雅的解决方案,但它是一个。APP\u URL已经设置好了,但是更改暴露的\u头并没有任何帮助,我尝试在cors.php中更改一点,写出头名,而不是使用通配符并写出我的角形APP的具体来源。尝试这一个请将所有内容作为文本而不是图像发布,帮助别人帮助你。
'exposed_headers' => ['Access-Control-Allow-Origin'],
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST, GET, OPTIONS, PUT, PATCH, DELETE');
header('Access-Control-Allow-Headers: Accept, Content-Type, X-Auth-Token, Origin, Authorization');