在HTTPS上部署laravel项目,并在跨源请求期间使用正确的href加载内容

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

我有下一期。我将laravel project部署到https\ssl域上的服务器。它加载'OK'而不重写.httaccess文件因为我有预配置nginx设置。但是当我尝试从其他域with cross-origin request访问我的'API'到这个域时 - 我收到错误"Blocked loading mixed active content “http://xxxx.xxx“"。如何看待它返回错误的"http"主机,然后还发送错误与CORS Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://xxxxx.xxx. (Reason: CORS request did not succeed).

我尝试在中间件控制器中强制使用URL,使用laravel-cors libs,但它没有效果。我不认为CORS有问题,我认为配置中间件或api-middleware的问题。对于API,我使用Dingo API

php laravel api nginx cors
2个回答
0
投票

在中间件中,您需要设置标头。创建一个Middleware类并将以下内容放在handle方法中:

public function handle($request, Closure $next)
{
    return $next($request)
        ->header('Access-Control-Allow-Origin', '*')
        ->header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
}

然后将其添加到app / Http / Kernel.php中的$ routeMiddleware。然后将该中间件用于您需要的任何路由。


0
投票

所有的问题都在hrefs(links),如果你像href那样在前端写https://site/api/news/它会收到错误,但是当你像https://site/api/news那样写它时就可以了......所有你需要删除最后一个'/'API Frameworks认为你想从文件夹中获取所有数据,因为它阻止它。这是'Wrong endpoint issue'

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