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指定多个域名跨域请求配置

posted @ 2022-05-16 16:57  理舞  阅读(1146)  评论(0编辑  收藏  举报