亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

如何利用map實現(xiàn)Nginx允許多個域名跨域

 更新時間:2020年10月25日 08:51:05   作者:沒有名字的博客  
這篇文章主要給大家介紹了關(guān)于如何利用map實現(xiàn)Nginx允許多個域名跨域的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

常見的 Nginx 配置允許跨域

server {
  listen    11111;
  server_name localhost;

  location ~ /xxx/xx {
    if ($request_method = 'OPTIONS') {
      return 204;
    }
    add_header Access-Control-Allow-Origin *;
    add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
    add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
    proxy_pass http://1.2.3.4:5678;
  }
}

指定 Access-Control-Allow-Origin 為 ‘*' ,即為最簡單暴力的允許所有訪問跨域

允許 Cookie

有些場景下需要使用 Cookie,這時 Nginx 需要加一句 add_header Access-Control-Allow-Credentials 'true';,但此時會發(fā)現(xiàn)瀏覽器報錯,說該參數(shù)為 true 時,allow origin 不能設(shè)置為 ‘*‘,如果手動指定了多個域名,那同樣會被瀏覽器提示錯誤,說 allow origin 不能設(shè)置多個,這些是協(xié)議層面的限制

使用 map

在 Nginx 中可以使用 map 得到一個自定義變量,簡單的使用可以參考官方文檔,在上面提到的場景中,可以對請求中的 origin 做一個過濾處理,把符合要求的請求域名放到一個變量中,在設(shè)置 allow origin 時使用該變量就能實現(xiàn)一個動態(tài)的、多個的允許跨域域名

一個示例配置如下:

map $http_origin $allow_origin {
  default "";
  "~^(https?://localhost(:[0-9]+)?)" $1;
  "~^(https?://127.0.0.1(:[0-9]+)?)" $1;
  "~^(https?://172.10(.[\d]+){2}(:[0-9]+)?)" $1;
  "~^(https?://192.168(.[\d]+){2}(:[0-9]+)?)" $1;
}

server {
  listen    11111;
  server_name localhost;

  location ~ /xxx/xx {
    if ($request_method = 'OPTIONS') {
      return 204;
    }
    add_header Access-Control-Allow-Origin $allow_origin;
    add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
    add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
    add_header Access-Control-Allow-Credentials 'true';
    proxy_pass http://1.2.3.4:5678;
  }
}

解釋說明:

$http_origin 是 Nginx 的內(nèi)部變量,用于獲取請求頭中的 origin

$allow_origin 是可以自定義的變量名

總結(jié)

到此這篇關(guān)于如何利用map實現(xiàn)Nginx允許多個域名跨域的文章就介紹到這了,更多相關(guān)map實現(xiàn)Nginx允許多個域名跨域內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • nginx 代理服務(wù)器配置雙向證書驗證的方法

    nginx 代理服務(wù)器配置雙向證書驗證的方法

    這篇文章主要介紹了nginx 代理服務(wù)器配置雙向證書驗證的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02
  • nginx中root和alias指令的使用

    nginx中root和alias指令的使用

    這篇文章主要介紹了nginx中root和alias指令的使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • 詳解如何在Nginx中配置正向代理以及整合Proxy插件

    詳解如何在Nginx中配置正向代理以及整合Proxy插件

    正向代理不僅用于提升訪問速度,還能提高網(wǎng)絡(luò)安全性、管理訪問權(quán)限和優(yōu)化網(wǎng)絡(luò)流量,在本文中,我們將詳細介紹如何在Nginx中配置正向代理,以及整合ngx_http_proxy_connect_module 插件,需要的朋友可以參考下
    2024-05-05
  • 使用log_format為Nginx服務(wù)器設(shè)置更詳細的日志格式方法

    使用log_format為Nginx服務(wù)器設(shè)置更詳細的日志格式方法

    下面小編就為大家分享一篇使用log_format為Nginx服務(wù)器設(shè)置更詳細的日志格式方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • nginx修改默認端口方法圖文詳解

    nginx修改默認端口方法圖文詳解

    我們都知道nginx 默認使用80端口,有時候我們希望nginx運行在其他端口,下面這篇文章主要給大家介紹了關(guān)于nginx修改默認端口的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-09-09
  • Nginx基于漏桶算法配置限流詳解

    Nginx基于漏桶算法配置限流詳解

    這篇文章主要為大家介紹了Nginx基于漏桶算法配置限流詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • nginx lua集成kafka的實現(xiàn)方法

    nginx lua集成kafka的實現(xiàn)方法

    這篇文章主要介紹了nginx lua集成kafka的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • Nginx實現(xiàn)負載均衡的項目實踐

    Nginx實現(xiàn)負載均衡的項目實踐

    在我們實際生產(chǎn)中,一臺服務(wù)器的處理能力、存儲空間是有限的,這時候就需要負載均衡,本文詳細的介紹了Nginx實現(xiàn)負載均衡的項目實踐,具有一定的參考價值,感興趣的可以了解一下
    2022-03-03
  • 詳解nginx過濾url實現(xiàn)前臺js的配置問題

    詳解nginx過濾url實現(xiàn)前臺js的配置問題

    本篇文章主要介紹了nginx過濾url實現(xiàn)前臺js的配置問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • nginx 負載均衡的三種參數(shù)設(shè)置

    nginx 負載均衡的三種參數(shù)設(shè)置

    這篇文章主要介紹了nginx 負載均衡的三種參數(shù)設(shè)置,需要的朋友可以參考下
    2017-07-07

最新評論