国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

nginx的配置轉(zhuǎn)發(fā)到其他網(wǎng)站詳解

瀏覽:2日期:2023-03-13 15:37:38
目錄
  • 需求
  • 用return 302
  • 用proxy_pass
  • 關(guān)于proxy_pass使用的語(yǔ)法,與/有關(guān)
  • 其他問題

需求

有這樣一個(gè)需求:項(xiàng)目中跳轉(zhuǎn)到某個(gè)地址,但這個(gè)地址不想暴露給用戶。

因此我們想到要做一層代理,通過(guò)項(xiàng)目某個(gè)路徑直接用ngnix代理到這個(gè)地址。

查詢相關(guān)文檔后,發(fā)現(xiàn)方案如下:

用return 302

location /myBaidu {  return 302 http://baidu.com;}
  • 這種方案會(huì)直接跳轉(zhuǎn)到baidu,并且會(huì)改變域名,相當(dāng)于直接location.href = 'baidu.com' ,顯然并不適合我們的需求。
  • 我們想要的效果是代理到百度,但是瀏覽器的url框內(nèi)還是/sparkMonitor,那么就用proxy_pass

用proxy_pass

假設(shè)我們的網(wǎng)站域名為 http://myorigin.com/

location /myBaidu {  proxy_pass http://www.baidu.com/;}

這樣配置后就可以由http://myorigin.com/myBaidu直接訪問到百度頁(yè)面,如下圖

關(guān)于proxy_pass使用的語(yǔ)法,與/有關(guān)

當(dāng)路徑加上/:相對(duì)路徑,此時(shí)相當(dāng)于代理到http://www.baidu.com/

location /myBaidu {  proxy_pass http://www.baidu.com/;}

如果訪問http://myorigin.com/myBaidu/abc就相當(dāng)于訪問http://www.baidu.com/abc

當(dāng)路徑不加/:絕對(duì)路徑,,此時(shí)相當(dāng)于代理到http://www.baidu.com/myBaidu

location /myBaidu {  proxy_pass http://www.baidu.com;}

如果訪問http://myorigin.com/myBaidu/abc就相當(dāng)于訪問http://www.baidu.com/myBaidu/abc

當(dāng)路徑加上/xxx/

location /myBaidu {  proxy_pass http://www.baidu.com/xxx/;}
  • 如果訪問http://myorigin.com/myBaidu/abc就相當(dāng)于訪問http://www.baidu.com/xxx/abc

當(dāng)路徑加上/xxx

location /myBaidu {  proxy_pass http://www.baidu.com/xxx;}
  • 如果訪問http://myorigin.com/myBaidu/abc就相當(dāng)于訪問http://www.baidu.com/xxxabc

其他問題

  • 用proxy_pass的方案反向代理到百度頁(yè)面,沒有任何問題。
  • 但是我們項(xiàng)目中是要求跳轉(zhuǎn)到某個(gè)內(nèi)網(wǎng)域名,而且此域名和http://myorigin.com/并沒有互通,因此配置代理時(shí),需要配置成ip地址,然后代理成功跳轉(zhuǎn)

但此時(shí)打開代理的頁(yè)面顯示沒有樣式,查看控制臺(tái)發(fā)現(xiàn)了報(bào)錯(cuò)如下:

點(diǎn)進(jìn)去查看錯(cuò)誤如下圖

  • 由此,問題就很明顯了,代理的網(wǎng)站用了根目錄絕對(duì)路徑去找到/static下的jquery文件,因此會(huì)直接在我們項(xiàng)目的域名下找http://myorigin.com/static文件,這樣是怎么也無(wú)法找到代理項(xiàng)目的/static文件,因此jquery找不到報(bào)錯(cuò),頁(yè)面樣式失效
  • 而且不只是/static文件,可能還有其他文件也找不到,而且還有可能路徑與路由沖突,引發(fā)問題
  • 因此,我們可以得出結(jié)論,前端項(xiàng)目的nginx的配置轉(zhuǎn)發(fā)到其他網(wǎng)站需要慎重,不是所有網(wǎng)站都可以走前端代理的,需要具體情況具體分析

以上就是nginx的配置轉(zhuǎn)發(fā)到其他網(wǎng)站詳解的詳細(xì)內(nèi)容,更多關(guān)于nginx配置轉(zhuǎn)發(fā)網(wǎng)站的資料請(qǐng)關(guān)注其它相關(guān)文章!

標(biāo)簽: Nginx
主站蜘蛛池模板: 岗巴县| 章丘市| 静海县| 沧州市| 信宜市| 崇左市| 应城市| 白城市| 昌黎县| 新沂市| 绥化市| 新田县| 宿松县| 安多县| 荥阳市| 伊春市| 华亭县| 凤翔县| 津市市| 宁晋县| 沂源县| 邢台市| 南皮县| 衡南县| 洛川县| 横山县| 杂多县| 大名县| 康马县| 思茅市| 汤阴县| 望城县| 洛阳市| 宁乡县| 武邑县| 甘孜县| 巩义市| 吐鲁番市| 凌云县| 繁峙县| 云南省|