Nginx指定多个域名跨域配置

来源:博客园 分类: 文章浏览史 发布时间:2020-12-09 14:44:58 最后更新:2020-12-09 浏览:575
转载声明:
本文为摘录自“博客园”,版权归原作者所有。
温馨提示:
为了更好的体验,请点击原文链接进行浏览
摘录时间:
2020-12-09 14:44:58

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

php技术微信