记录一些常用的函数和瞎折腾的过程……

nginx中对多个网站进行跨域配置

提醒:本文最后更新于 898 天前,文中所描述的信息可能已发生改变,请谨慎使用。

nginx中对于跨域的配置,要启用默认就是:

add_header Access-Control-Allow-Origin *;

这样对所有网站都允许跨域请求,如果针对某个网站允许跨域,可以这样:

add_header Access-Control-Allow-Origin https://www.psay.cn;

但是我要针对多个网站允许跨域呢,配置中是不允许同时添加多个网址的,要么为全部允许,要么仅针对某个网址,是不允许Access-Control-Allow-Origin后面添加多个网址。

变通一下,可以这样做多个判断,在server{}添加如下代码,就可以允许多个网站对于本网站进行跨域请求了。

set $cors_origin "";
if ($http_origin ~* "^http://test.blyoo.com$") {
  set $cors_origin $http_origin;
}
if ($http_origin ~* "^https://www.blyoo.com$") {
  set $cors_origin $http_origin;
}
add_header Access-Control-Allow-Origin $cors_origin;