【nginx】Apache迁移服务器Nginx,出现跨域问题

【nginx】Apache迁移服务器Nginx,出现跨域问题

【nginx】Apache迁移服务器Nginx,出现跨域问题

可能是跨域问题,post请求 服务器变化导致,get接口没问题

回答

有两种方式:
1代码解决,使用cors

        $cors_hosts = ["http://game.a.com","https://game.b.com"];

$origin = isset($_SERVER['HTTP_ORIGIN']) ? $_SERVER['HTTP_ORIGIN'] : '';

if(in_array($origin,$cors_hosts)){

header('Access-Control-Allow-Origin', $origin);

}

header('Access-Control-Allow-Methods', ['GET, POST, OPTIONS']);

header('Access-Control-Allow-Credentials', 'true');

header('Access-Control-Allow-Headers','DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization');

if($this->request->method() == 'OPTIONS'){

header('Access-Control-Max-Age',1728000);

header('Content-Type','text/plain; charset=utf-8');

header('Content-Length',0);

header('HTTP/1.1 204 No Content');

}

2nginx配置

map $http_origin $corsHost {

default 0;

"~http://game.a.com" http://game.a.com;

"~https://game.b.com" https://game.b.com;

}

location ~ .php$ {

if ($request_method = 'OPTIONS') {

add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';

add_header Access-Control-Allow-Origin $corsHost;

add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';

add_header Access-Control-Allow-Credentials true;

add_header 'Access-Control-Max-Age' 1728000;

add_header 'Content-Type' 'text/plain; charset=utf-8';

add_header 'Content-Length' 0;

return 204;

}

以上是 【nginx】Apache迁移服务器Nginx,出现跨域问题 的全部内容, 来源链接: utcz.com/a/84516.html

回到顶部