国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > Nginx > 正文

Nginx之proxy_redirect使用詳解

2024-08-30 12:24:41
字體:
供稿:網(wǎng)友

今天在做nginx反向代理apache的時候出了一點點問題,原來后端apache用的端口是8080通過反向代理后,使用wireshark抓包發(fā)現(xiàn)location頭域數(shù)值為http://192.168.1.154:8080/wuman/  如果把這個返回給客戶端肯定是不可以的,看起來別扭而且還暴露了apache的具體信息

所以在這里用到了nginx的proxy_redirect指定修改被代理服務(wù)器返回的響應(yīng)頭中的location頭域跟refresh頭域數(shù)值

以下是截取nginx的一小段配置文檔

server { listen 80; server_name www.boke.com; location / {  proxy_pass http://192.168.1.154:8080;  proxy_redirect off; } }

此時我們通過curl查看結(jié)果得出

[root@localhost nginx]# curl -I http://www.boke.com/wumanHTTP/1.1 301 Moved PermanentlyServer: nginxDate: Thu, 24 Dec 2015 12:02:00 GMTContent-Type: text/html; charset=iso-8859-1Connection: keep-aliveLocation: http://192.168.1.154:8080/wuman/

這里location為帶有后端服務(wù)器實際地址跟端口的響應(yīng)頭信息這樣在實際線上是不允許的所以這里我們打算通過proxy_redirect將被代理服務(wù)器的響應(yīng)頭中的location字段進(jìn)行修改后返回給客戶端

server { listen 80; server_name www.boke.com; location / {  proxy_pass http://192.168.1.154:8080;  proxy_redirect http://192.168.1.154:8080/wuman/ http://www.boke.com/wuman/; }server { listen 80; server_name www.boke.com; location / {  proxy_pass http://192.168.1.154:8080;  proxy_redirect ~^http://192.168.1.154:8080(.*) http://www.boke.com$1; }

則curl查看返回結(jié)果

[root@localhost nginx]# curl -I http://www.boke.com/wumanHTTP/1.1 301 Moved PermanentlyServer: nginxDate: Thu, 24 Dec 2015 12:08:34 GMTContent-Type: text/html; charset=iso-8859-1Connection: keep-aliveLocation: http://www.boke.com/wuman/

此時查看location已經(jīng)變成了我們想要的結(jié)果了。 此時通過replacement 301重定向到了我們新的頁面

出處:

proxy_redirect

語法:proxy_redirect [ default|off|redirect replacement ] 

默認(rèn)值:proxy_redirect default 

使用字段:http, server, location 

如果需要修改從被代理服務(wù)器傳來的應(yīng)答頭中的"Location"和"Refresh"字段,可以用這個指令設(shè)置。

假設(shè)被代理服務(wù)器返回Location字段為: http://localhost:8000/two/some/uri/

這個指令: 

proxy_redirect http://localhost:8000/two/ http://frontend/one/;

將Location字段重寫為http://frontend/one/some/uri/。

在代替的字段中可以不寫服務(wù)器名:

proxy_redirect http://localhost:8000/two/ /;

這樣就使用服務(wù)器的基本名稱和端口,即使它來自非80端口。

如果使用“default”參數(shù),將根據(jù)location和proxy_pass參數(shù)的設(shè)置來決定。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 金坛市| 永安市| 丹阳市| 台中市| 井陉县| 霍林郭勒市| 延长县| 兴义市| 珲春市| 弥渡县| 政和县| 肥东县| 兴山县| 上栗县| 改则县| 新津县| 诸暨市| 石棉县| 额尔古纳市| 佳木斯市| 张家川| 大渡口区| 灌南县| 荔浦县| 炉霍县| 咸阳市| 鹿泉市| 洛扎县| 玉溪市| 开封市| 天台县| 玛多县| 电白县| 清流县| 西吉县| 河津市| 金湖县| 海城市| 谢通门县| 新兴县| 百色市|