Nginx如何配置跨域(多个域名)

假设需要允许来源为localhost.*.example.com下所有二级域名的访问,在nginx中只需要类似这样配置即可:

    location / {
		set $match "";
		# 支持http及https
		if ($http_origin ~* 'https?://(localhost|.*\.example\.com)') {
		set $match "true";
		}
		
		if ($match = "true") {
			add_header Access-Control-Allow-Origin "$http_origin";
			add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
			add_header Access-Control-Allow-Methods GET,POST,OPTIONS,DELETE;
			add_header Access-Control-Allow-Credentials true;
		}
		# 处理OPTIONS请求
		if ($request_method = 'OPTIONS') {
			return 204;
		}
	}

当然通过正则也可以详细指定若干个允许访问的域名来源。

发布了384 篇原创文章 · 获赞 1054 · 访问量 246万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: Age of Ai 设计师: meimeiellie

分享到微信朋友圈

×

扫一扫,手机浏览