最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

常見(jià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 為 ‘*' ,即為最簡(jiǎn)單暴力的允許所有訪問(wèn)跨域

允許 Cookie

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

使用 map

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

一個(gè)示例配置如下:

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;
  }
}

解釋說(shuō)明:

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

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

總結(jié)

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

相關(guān)文章

  • Nginx如何代理本地文件

    Nginx如何代理本地文件

    這篇文章主要介紹了Nginx如何代理本地文件問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • Nginx/Openresty中啟用http2支持的方法教程

    Nginx/Openresty中啟用http2支持的方法教程

    Openresty/Nginx默認(rèn)是不支持http2的,需要將http2模塊編譯進(jìn)應(yīng)用中。這篇文章主要給大家介紹了關(guān)于在Nginx/Openresty中啟用http2支持的方法教程,文中介紹的非常詳細(xì),對(duì)大家具有一的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-07-07
  • Nginx禁止IP訪問(wèn)只允許域名訪問(wèn)及防盜鏈設(shè)置

    Nginx禁止IP訪問(wèn)只允許域名訪問(wèn)及防盜鏈設(shè)置

    我們?cè)谑褂玫臅r(shí)候會(huì)遇到很多的惡意IP攻擊,這個(gè)時(shí)候就要用到Nginx 禁止IP訪問(wèn)了,本文主要介紹了Nginx禁止IP訪問(wèn)只允許域名訪問(wèn)及Nginx防盜鏈設(shè)置,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • 使用nginx進(jìn)行負(fù)載均衡的搭建全過(guò)程

    使用nginx進(jìn)行負(fù)載均衡的搭建全過(guò)程

    負(fù)載均衡用于從“upstream”模塊定義的后端服務(wù)器列表中選取一臺(tái)服務(wù)器接受用戶的請(qǐng)求,下面這篇文章主要給大家介紹了關(guān)于使用nginx進(jìn)行負(fù)載均衡的搭建全過(guò)程,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • Nginx制作下載站點(diǎn)的方法步驟

    Nginx制作下載站點(diǎn)的方法步驟

    本文主要介紹了Nginx制作下載站點(diǎn)的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-10-10
  • nginx配置keepalive長(zhǎng)連接的實(shí)現(xiàn)方法

    nginx配置keepalive長(zhǎng)連接的實(shí)現(xiàn)方法

    長(zhǎng)連接允許客戶端在同一個(gè)TCP連接上發(fā)送多個(gè)請(qǐng)求,以減少連接握手的開(kāi)銷,提高網(wǎng)站性能,本文主要介紹了nginx配置keepalive長(zhǎng)連接的實(shí)現(xiàn)方法,感興趣的可以了解一下
    2023-08-08
  • Nginx 代理頭部傳遞的實(shí)現(xiàn)

    Nginx 代理頭部傳遞的實(shí)現(xiàn)

    Nginx默認(rèn)會(huì)傳遞一些頭部信息,本文就來(lái)介紹一下Nginx 代理頭部傳遞的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-02-02
  • Nginx 解決504錯(cuò)誤超時(shí)問(wèn)題小結(jié)

    Nginx 解決504錯(cuò)誤超時(shí)問(wèn)題小結(jié)

    本文主要介紹了ginx出現(xiàn)504 Gateway Timeout錯(cuò)誤的原因,通常是因?yàn)槌绦驁?zhí)行時(shí)間過(guò)長(zhǎng)導(dǎo)致響應(yīng)超時(shí),下面就來(lái)介紹一下解決方法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-02-02
  • 詳解Nginx反向代理WebSocket響應(yīng)403的解決辦法

    詳解Nginx反向代理WebSocket響應(yīng)403的解決辦法

    本篇文章主要介紹了詳解Nginx反向代理WebSocket響應(yīng)403的解決辦法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-01
  • 詳解nginx實(shí)現(xiàn)ssl反向代理實(shí)戰(zhàn)

    詳解nginx實(shí)現(xiàn)ssl反向代理實(shí)戰(zhàn)

    本篇文章主要介紹了nginx實(shí)現(xiàn)ssl反向代理實(shí)戰(zhàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-01-01

最新評(píng)論

临清市| 大关县| 康乐县| 嘉善县| 义马市| 鹤山市| 西吉县| 横峰县| 大港区| 巴马| 乌拉特前旗| 泗阳县| 穆棱市| 桐乡市| 鞍山市| 元谋县| 信丰县| 青铜峡市| 江达县| 弥勒县| 福泉市| 祁门县| 富顺县| 镇原县| 衢州市| 达州市| 承德市| 和龙市| 宾川县| 健康| 漯河市| 栾川县| 郧西县| 宜州市| 兰州市| 通渭县| 来宾市| 桂东县| 咸宁市| 汝城县| 西平县|