跨域问题

来源:8-13 商城前端分类API开发-支持无限极分类

慕粉慕粉1888

2020-02-08

老师目前我遇到这个问题,提示跨域:
http://127.0.0.1:8999/api/index/cagegoryGoodsRecommend’ from origin ‘http://127.0.0.1:8998’ has been blocked by CORS policy:

http://127.0.0.1:8999 是我的api地址
http://127.0.0.1:8998 是vue部署地址

我在vue nginx配置文件做了proxy_pass 配置,以下是截取的部分配置

server {
    listen       8998;
    server_name  127.0.0.1;
    location ^~ /api/ {
            proxy_pass http://127.0.0.1:8999;
        }

这样不成功,这个配置该怎么修改呢?谢谢

写回答

1回答

慕码人6234946

2020-02-09

可以写一个中间件

   public function handle($request, Closure $next)
    {
        $response = $next($request);
        $origin = $request->server('HTTP_ORIGIN') ? $request->server('HTTP_ORIGIN') : '';
        $allow_origin = [
            'http://localhost:8000',
        ];
        if (in_array($origin, $allow_origin)) {
            $response->header('Access-Control-Allow-Origin', $origin);
            $response->header('Access-Control-Allow-Headers', 'Origin, Content-Type, Cookie, X-CSRF-TOKEN, Accept, Authorization, X-XSRF-TOKEN');
            $response->header('Access-Control-Expose-Headers', 'Authorization, authenticated');
            $response->header('Access-Control-Allow-Methods', 'GET, POST, PATCH, PUT, OPTIONS');
            $response->header('Access-Control-Allow-Credentials', 'true');
        }
        return $response;
    }


0
2
1014407916
回复
慕粉慕粉1888
兄弟,可以打开吗?
2021-03-14
共2条回复

全流程开发 TP6.0实战高并发电商服务系统

一课就能掌握TP6.0基础及运用,打造完整高并发的电商后端项目

1458 学习 · 1310 问题

查看课程