nginx设置跨域不允许访问
方式一:
http {
...
# 说明:一般使用http_origin来进行跨域控制,当不传递origin头的时候,就为这个里面的默认值,当传递有值得时候,才会走下面得正则匹配
map $http_referer $allow_cors {
default 1;
"~^https?://.*?\.theorydance\.com.*$" 1;
"~*" 0;
}
server {
location / {
if ($allow_cors = 0){
return 403;
}
root /data/deploy;
}
}
}
可以根据$http_origin
进行判断
map $http_orgin $allow_cros {
default 1;
"~^(https?://(localhost)(:[0-9]+)?)$" 1;
"~*" 0;
}
方式二:
该方式参考博客:nginx指定多个域名跨域请求配置