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

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

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

nginx指令: add headernginx

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

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 指令参考: 链接跨域

一、正则表达式匹配:框架

==:等值比较;
模块化

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

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

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

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

 

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

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

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

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

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

 

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

相关文章
相关标签/搜索