Nginx指定多个域名跨域配置
Nginx配置域名跨域单个域名:
location ~ .*\.(php|php5)?$ { add_header 'Access-Control-Allow-Origin' 'http://image1-oss.v.lvye.com'; add_header 'Access-Control-Allow-Credentials' 'true' always; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi.conf; }
Nginx配置域名跨域多个域名:
server { set $core_origin ""; if ($http_origin ~* "^http://image1-oss.xxx.xxx.com$") { set $core_orgin $http_origin; } if ($http_origin ~* "^http://www.xxx.cn$") { set $core_orgin $http_origin; } if ($http_origin ~* "^http://www.xxx.cn$") { set $core_orgin $http_origin; } listen 80; ...... ...... location ~ .*\.(php|php5)?$ { proxy_set_header Host $http_host; add_header 'Access-Control-Allow-Origin' $core_orgin; add_header 'Access-Control-Allow-Credentials' 'true' always; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi.conf; }
多个域名只需要添加 if 配置不同的域名即可;
需要注意的是 if 与括号之间的空格不能删除,删除会报语法错误。
还有location 中要添加相对应的变量和参数。