AJAX从一个域请求另一个域的地址会有跨域的问题,需要在nginx的配置上添加add_header 如下:
server {
listen 80;
server_name b.com;
location /{
add_header 'Access-Control-Allow-Origin' 'http://a.com';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET';
}
}
第一条add_header:授权从a.com的请求
第二条add_header:当该标志为真时,响应于该请求是否可以被暴露
第三条add_header:指定请求的方法,可以是GET,POST,PUT,DELETE,HEAD
如果想允许来自任何域的请求,可以这样:
server {
listen 80;
server_name b.com;
location /{
Access-Control-Allow-Origin: *
}
}
如果想配置2-3个域设置为信任,可以这样:
server {
listen 80;
server_name b.com;
location /{
if ( $http_referer ~* (a.com|b.com|c.com) ) {
Access-Control-Allow-Origin: *
}
}
}