婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Nginx之proxy_redirect使用詳解

Nginx之proxy_redirect使用詳解

熱門標簽:云會外呼系統 外呼系統的經營范圍 申請400電話價格多少 安陽ai電銷機器人軟件 涪陵商都400電話開通辦理 柳州市機器人外呼系統報價 廈門營銷外呼系統平臺 智能電話機器人坐席 外呼系統不彈窗

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

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

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

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

此時我們通過curl查看結果得出

[root@localhost nginx]# curl -I http://www.boke.com/wuman
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Thu, 24 Dec 2015 12:02:00 GMT
Content-Type: text/html; charset=iso-8859-1
Connection: keep-alive
Location: http://192.168.1.154:8080/wuman/

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

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查看返回結果

[root@localhost nginx]# curl -I http://www.boke.com/wuman
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Thu, 24 Dec 2015 12:08:34 GMT
Content-Type: text/html; charset=iso-8859-1
Connection: keep-alive
Location: http://www.boke.com/wuman/

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

出處:

proxy_redirect

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

默認值:proxy_redirect default 

使用字段:http, server, location 

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

假設被代理服務器返回Location字段為: http://localhost:8000/two/some/uri/

這個指令: 

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

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

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

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

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

如果使用“default”參數,將根據location和proxy_pass參數的設置來決定。

例如下列兩個配置等效:

location / one / {
 proxy_pass http: //upstream:port/two/; 
 proxy_redirect default;
}
location / one / {
 proxy_pass http: //upstream:port/two/; 
 proxy_redirect http: //upstream:port/two/ /one/;
}

在指令中可以使用一些變量:

proxy_redirect http://localhost:8000/ http://$host:$server_port/;

這個指令有時可以重復:

proxy_redirect default;
proxy_redirect http://localhost:8000//; proxy_redirect ; /;

參數off將在這個字段中禁止所有的proxy_redirect指令:

proxy_redirect off;
proxy_redirect default;
proxy_redirect http://localhost:8000/ /; proxy_redirect ; /;

利用這個指令可以為被代理服務器發出的相對重定向增加主機名:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

標簽:南充 福州 綏化 晉城 巴中 蕪湖 撫順 孝感

巨人網絡通訊聲明:本文標題《Nginx之proxy_redirect使用詳解》,本文關鍵詞  Nginx,之,proxy,redirect,使用,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Nginx之proxy_redirect使用詳解》相關的同類信息!
  • 本頁收集關于Nginx之proxy_redirect使用詳解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 凤庆县| 武隆县| 耿马| 西华县| 温泉县| 方城县| 山东| 静宁县| 丽江市| 北票市| 读书| 原平市| 嵩明县| 茂名市| 南平市| 普定县| 游戏| 大冶市| 璧山县| 西盟| 舒兰市| 莆田市| 垫江县| 青岛市| 石嘴山市| 嘉义市| 余庆县| 黔西| 南木林县| 炎陵县| 满城县| 新疆| 海淀区| 五原县| 师宗县| 姚安县| 肇源县| 安阳市| 龙里县| 河池市| 合川市|