国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 汾阳市| 都江堰市| 旅游| 青阳县| 砚山县| 绥棱县| 岢岚县| 永城市| 灵寿县| 任丘市| 永新县| 宜阳县| 巩义市| 双城市| 开鲁县| 云龙县| 射阳县| 桃园县| 蒲江县| 广平县| 罗甸县| 奉新县| 清涧县| 邳州市| 台中县| 湘潭市| 霍林郭勒市| 勐海县| 东乡族自治县| 金沙县| 屯门区| 白河县| 巍山| 陵川县| 敖汉旗| 隆安县| 广平县| 海兴县| 鄂伦春自治旗| 黄平县| 会东县|