nginx Access-Control-Allow-Origin 多域名跨域设置

2019-1-16 12:24:15 星期三

网站的静态文件(js, css, 图片, 字体等)是在一个单独的域名下的, 为了防止非法访问, 给nginx添加了跨域的控制, 也可以在PHP代码中添加

nginx指令: add header

1. 在location块中, 判断当前来源的域名($http_origin)是不是符合条件,

2. 符合条件的话就用add_header指令设置 Access-Control-Allow-Origin

    location ~ .ico|jpg|gif|png|js|css|woff2|ttf$ {
        if ($http_origin ~ [a-z]+.hearu.top$){ # xxx.hearu.top域名才可以访问
            add_header Access-Control-Allow-Origin $http_origin;
            add_header Access-Control-Request-Method GET;
        }
        root /usr/local/...../ui; #存放静态文件的路径
        #expires 1h;
    }

nginx if 指令参考: 连接

1、正则表达式匹配:

==:等值比较;

~:与指定正则表达式模式匹配时返回“真”,区分字符大小写;

~*:与指定正则表达式模式匹配时返回“真”,不区分字符大小写;

!~:与指定正则表达式模式不匹配时返回“真”,区分字符大小写;

!~*:与指定正则表达式模式不匹配时返回“真”,不区分字符大小写;

 

2、文件及目录匹配判断:

-f, !-f:判断指定的路径是否为存在且为文件;

-d, !-d:判断指定的路径是否为存在且为目录;

-e, !-e:判断指定的路径是否存在,文件或目录均可;

-x, !-x:判断指定路径的文件是否存在且可执行;

 

硬广: 模块化, 轻量级PHP框架

原文地址:https://www.cnblogs.com/iLoveMyD/p/10276359.html