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框架

相關文章
相關標籤/搜索