原文:http://www.neter8.com/server/42.html
当出现403跨域错误的时候 No 'Access-Control-Allow-Origin' header is present on the requested resource,需要给Nginx服务器配置响应的header参数:
在需要夸域的配置文件上加入以下代码:
location / {
add_header Access-Control-Allow-Origin *;
}
Markup复制代码
服务器默认是不被允许跨域的。给Nginx服务器配置Access-Control-Allow-Origin *后,表示服务器可以接受所有的请求源(Origin),即接受所有跨域的请求。也可以把*号替换成为域名如:http://www.neter8.com/ 这样就只允许http://www.neter8.com/调用这个域名的数据。跨域成功!
Nginx允许多个域名跨域访问:
*号如果不是我们想好的。我们可能定义多个域名访问:
map $http_origin $corsHost {
default 0;
"~http://www.meishiq.com" http://www.meishiq.com;
"~http://m.meishiq.com" http://m.meishiq.com;
"~http://wap.meishiq.com" http://wap.meishiq.com;
}
server
{
listen 80;
server_name www.neter8.com;
root /usr/share/nginx/html;
location /
{
add_header Access-Control-Allow-Origin $corsHost;
}
}
Markup复制代码
通过map就可以实现定义的多个域名访问了。
原文链接:http://www.neter8.com/server/42.html