国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢 在線咨詢
18143453325 在線咨詢
所在位置: 首頁(yè) > 營(yíng)銷(xiāo)資訊 > 建站知識(shí) > Nginx指定多個(gè)域名跨域配置

Nginx指定多個(gè)域名跨域配置

時(shí)間:2023-02-07 16:48:01 | 來(lái)源:建站知識(shí)

時(shí)間:2023-02-07 16:48:01 來(lái)源:建站知識(shí)

location /live{ ... add_header 'Access-Control-Allow-Origin' 'http://domain:port' always; add_header 'Access-Control-Allow-Credentials' 'true'; # 為預(yù)檢請(qǐng)求加的header add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE'; #為預(yù)檢請(qǐng)求加的header add_header 'Access-Control-Allow-Headers' '*';}第一個(gè)響應(yīng)頭是允許跨域的域

$http_origin

當(dāng)請(qǐng)求成功時(shí),HTTP CODE 為200。而請(qǐng)求失敗時(shí)HTTP CODE 為400, 此時(shí)add_header ‘Access-Control-Allow-Origin’ ‘*’ 配置無(wú)效!設(shè)置無(wú)論HTTP CODE 為何值時(shí)都生效需要加 always 。nginx版本>1.7.5時(shí)候無(wú)須加always。

第二個(gè)響應(yīng)頭,是否要認(rèn)證

第三個(gè)響應(yīng)頭是允許跨域的請(qǐng)求方法

第四個(gè)響應(yīng)頭是請(qǐng)求頭里面允許跨域使用的請(qǐng)求頭,如果有自定義的請(qǐng)求頭,也要加進(jìn)去




2.Nginx配置域名跨域多個(gè)域名

方法一:

server { set $cors ''; if ($http_origin ~* "^http://deomain01:port$") { set $cors $http_origin; } if ($http_origin ~* "^http://deomain02:port$") { set $cors $http_origin; } if ($http_origin ~* "^http://deomain002:port$") { set $cors $http_origin; } location /live{ ... add_header 'Access-Control-Allow-Origin' '$cors'; add_header 'Access-Control-Allow-Credentials' 'true'; # 為預(yù)檢請(qǐng)求加的header add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE'; #為預(yù)檢請(qǐng)求加的header add_header 'Access-Control-Allow-Headers' '*'; }$http_origin這個(gè)格式是nginx取請(qǐng)求中header的XXX的值的。

這里取的是origin,而一般跨域請(qǐng)求都會(huì)將請(qǐng)求的來(lái)源放在origin中(瀏覽器會(huì)往跨域請(qǐng)求的header上面加origin這個(gè)header)

$ cors 變量獲取想要的跨域域名并賦值到 “add_header ‘Access-Control-Allow-Origin’ ‘$cors’”中。




方法二

map $http_origin $cors_list{ default http://aaa.cn; "~ http://bbb.cn" http://bbb.cn; } server { listen 8089; server_name localhost; location /live{ ... add_header 'Access-Control-Allow-Origin' '$cors_list'; add_header 'Access-Control-Allow-Credentials' 'true'; # 為預(yù)檢請(qǐng)求加的header add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE'; #為預(yù)檢請(qǐng)求加的header add_header 'Access-Control-Allow-Headers' '*'; }map指令是ngx_http_map_module模塊提供的,默認(rèn)情況下nginx有加載這個(gè)模塊。




語(yǔ)法: map $var1 $var2 {…}

默認(rèn)值: -

配置段: http

map為一個(gè)變量設(shè)置的映射表。映射表由兩列組成,匹配模式和對(duì)應(yīng)的值。

在map塊里的參數(shù)指定了源變量值和結(jié)果值的對(duì)應(yīng)關(guān)系。

default: 沒(méi)有匹配結(jié)果將使用的默認(rèn)值。如果沒(méi)有設(shè)置default,將會(huì)用一個(gè)空的字符串作為默認(rèn)的結(jié)果。

匹配模式可以是一個(gè)簡(jiǎn)單的字符串或者正則表達(dá)式,使用正則表達(dá)式要用(‘~’)。

注意:在nginx.conf配置文件配置跨域時(shí),記得清除客戶端如瀏覽器緩存,否則會(huì)出現(xiàn)配置沒(méi)生效的情況。



關(guān)鍵詞:配置,指定

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉