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 中要添加相对应的变量和参数。

posted @ 2020-04-10 01:18  原万里  阅读(7284)  评论(0编辑  收藏  举报