欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Nginx如何配置多个域名跨域

程序员文章站 2022-03-23 22:46:14
Nginx配置域名跨域单个域名:location ~ .*\.(php|php5)?$ { add_header 'Access-Control-Allow-Origin' 'http://image1-oss.xxx.com'; add_header 'Access-Control-Allow-Credentials' 'true' always; fastcgi_pass 127.0....

Nginx配置域名跨域单个域名:

location ~ .*\.(php|php5)?$
        {
                add_header 'Access-Control-Allow-Origin' 'http://image1-oss.xxx.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.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 中要添加相对应的变量和参数。

本文地址:https://blog.csdn.net/qq_36527174/article/details/109627604