请求在 https 上工作,但由于 cors 而在 http 上被阻止?
Posted
技术标签:
【中文标题】请求在 https 上工作,但由于 cors 而在 http 上被阻止?【英文标题】:requests works over https but gets blocked over http due to cors? 【发布时间】:2020-05-06 08:40:10 【问题描述】:我有一个后端服务器,里面有一些用 laravel 编写的 api 当我尝试通过 https 发出请求时,它工作正常 但是当我通过 http 发出相同的请求时,它会被 cors 阻止 说 Access-Control-Origin 不存在 这是正常行为还是服务器配置有问题?
附言服务器正在运行 apache
【问题讨论】:
我认为 API 和前端都应该在 https 或 http 上。混合它们会导致 CORS 错误。 我通过 ionic 应用客户端使用 api 离子应用程序是否在 https 上运行?它是否通过 https 向您的 API 发出请求? 如果它在 https 上发出请求,它可以工作,但我想通过 http 发出请求,因为我不想更新应用商店中的应用程序版本 【参考方案1】:在 api.php 路由文件顶部添加这段代码:
注意:这是一个短期解决方案:
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST, GET, OPTIONS, PUT, DELETE');
header('Access-Control-Allow-Headers: Content-Type, X-Auth-Token, Origin, Authorization');
use Illuminate\Http\Request;
【讨论】:
感谢您的回答,但不幸的是这不起作用我已经使用 frutcake/laravel-cors 来处理 cors 请求,它可以在 https 上工作,但 http 请求被阻止以上是关于请求在 https 上工作,但由于 cors 而在 http 上被阻止?的主要内容,如果未能解决你的问题,请参考以下文章