location /dyl-server/ {
if ($request_method = 'OPTIONS') {
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods GET,POST,PUT,DELETE,PATCH,OPTIONS; #允许的请求方式
add_header Access-Control-Allow-Headers phone,Referer,Origin,X-Requested-With,Content-Type,Accept,Authorization,uToken,orgId,rootOrgId,token,uid,uName; #允许的请求头,
add_header Access-Control-Allow-Credentials true;
add_header Access-Control-Request-Method X-Requested-With,Content-Type,Accept,Platform,Token,Authorization;
add_header Access-Control-Max-Age 3601;
return 200;
}
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods *;
add_header Access-Control-Allow-Headers phone,Referer,Origin,X-Requested-With,Content-Type,Accept,Authorization,uToken,orgId,rootOrgId,token,uid,uName;
add_header Access-Control-Allow-Credentials true;
add_header Access-Control-Request-Method X-Requested-With,Content-Type,Accept,Platform,Token,Authorization;
add_header Access-Control-Max-Age 3602;
proxy_pass http://yc-test/;
Nginx服务器可以通过添加跨域资源共享(CORS)头来解决跨域问题。在Nginx服务器上实现CORS,可以根据不同的项目或网站实际情况进行不同的配置,并且控制在服务端进行,提高了数据安全性。
以下是Nginx跨域实现的步骤:
找到nginx配置文件,默认位置为 /etc/nginx/nginx.conf。
在server段,添加如下代码:
Copy code
location / {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE';
add_header 'Access-Control-Allow-Headers' 'X-Requested-With,Content-Type';
if ($request_method = 'OPTIONS') {
return 200;
}
}
重启nginx服务器。
以上代码中:
add_header 'Access-Control-Allow-Origin' '*':允许跨域访问的域名。其中,'*'表示允许所有域名访问。
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE':允许跨域访问的方法,如GET、POST、OPTIONS等。
add_header 'Access-Control-Allow-Headers' 'X-Requested-With,Content-Type':允许跨域访问的请求头,如X-Requested-With、Content-Type等。
if ($request_method = 'OPTIONS') { return 200; }:判断请求方法是否为OPTIONS,如果是则返回200。