php - 在生产服务器上使用 Laravel 7 时出现 CORS 策略错误
问题描述
我在 Laravel 7 上,我得到了错误
Access to XMLHttpRequest at 'https://developer.api.autodesk.com/modelderivative/v2/viewers/7.*/lmvworker.min.js' from origin 'https://my.site.com' has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header has a value 'http://127.0.0.1:8000' that is not equal to the supplied origin.
它在本地主机上工作,但是当我在生产服务器上运行时出现错误。
我不明白为什么在生产服务器上将“Access-Control-Allow-Origin”标头设置为“http://127.0.0.1:8000”。
这是我的config/cors.php(我也尝试过 'paths' => ['*'])
'paths' => [],
'allowed_methods' => ['*'],
'allowed_origins' => ['*'],
'allowed_origins_patterns' => [],
'allowed_headers' => ['*'],
'exposed_headers' => false,
'max_age' => false,
'supports_credentials' => false,
http/内核.php
protected $middleware = [
\Fruitcake\Cors\HandleCors::class,
\App\Http\Middleware\CheckForMaintenanceMode::class,
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
\App\Http\Middleware\TrimStrings::class,
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
\App\Http\Middleware\TrustProxies::class,
\App\Http\Middleware\SetLocale::class
];
配置/app.php
'providers' => [
/*
* Laravel Framework Service Providers...
*/
Illuminate\Auth\AuthServiceProvider::class,
Illuminate\Broadcasting\BroadcastServiceProvider::class,
...
...
Fruitcake\Cors\CorsServiceProvider::class
],
解决方案
注意:对于 allowed_origins ,您必须在不使用通配符时包含该方案,例如。['http://example.com', 'https://example.com']。您还必须考虑到在使用 allowed_origins_patterns 时该方案将存在。
推荐阅读
- javascript - 在代码沙盒上使用 bit.dev
- android - 如何使用底部导航视图进行条件导航
- javascript - 以角度读取清单内容
- typo3 - 创建一个不存在的表的 TYPO3 存储库
- vb.net - 如何使用 vb.net 将 Apache Hive 与 ODBC 和 MIT Karberos 连接起来
- c# - 有没有办法在 RestSharp POST 请求的末尾添加一个空参数?
- php - 如何使用 PHP 在特定位置附加 JSON 文件
- node.js - 使用在 Firestore 模拟器上运行的 Firebase-Admin 时找不到 Firestore 文档
- python - discord.py 和 heroku 托管问题
- php - Laravel 命令执行输出