日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

目錄
  • 1.直接替換location  匹配部分
  • 2.使用nginx 的rewrite 模塊 
    • rewrite 企業應用場景

nginx 提供反向代理服務,日常開發過程中有時候我們需要使用nginx 作為代理服務根據url的不同去訪問不同的服務器或者不同端口,如下提供兩種方案。

1.直接替換location  匹配部分

1.proxy_pass的目標地址,默認不帶/,表示只代理域名,url和參數部分不會變(把請求的path拼接到proxy_pass目標域名之后作為代理的URL)

2.如果在目標地址后增加/,則表示把path中location匹配成功的部分剪切掉之后再拼接到proxy_pass目標地址

server {
        listen       80;
        server_name  localhost;
location /system {           
        proxy_pass        http://127.0.0.1:8080;
        proxy_redirect    off;
        proxy_set_header  Host  $host;
        proxy_set_header  X-Real-IP  $remote_addr;
        proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;			
		}
# proxy_pass  以/結尾
location /system {           
        proxy_pass        http://127.0.0.1:8080/;
        proxy_redirect    off;
        proxy_set_header  Host  $host;
        proxy_set_header  X-Real-IP  $remote_addr;
        proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;			
		}
        }

例如:http://192.168.25.132/system/sysMenu/tree

如上兩個匹配成功后,實際代理的目標url分別是

http://127.0.0.1:8080/system/sysMenu/tree (把/system/sysMenu/tree拼接到proxy_pass 地址的127.0.0.1:8080之后)

http://127.0.0.1:8080/sysMenu/tree (把/system/sysMenu/tree去掉匹配到的location /system拼接到proxy_pass 地址的127.0.0.1:8080之后)

2.使用nginx 的rewrite 模塊 

rewrite是實現URL重寫的關鍵指令,根據regex(正則表達式)部分內容,重定向到replacement,結尾是flag標記。

  rewrite    <regex>    <replacement>    [flag];
 
    關鍵字      正則        替代內容          flag標記
    關鍵字:其中關鍵字error_log不能改變
    正則:perl兼容正則表達式語句進行規則匹配
    替代內容:將正則匹配的內容替換成replacement
    flag標記:rewrite支持的flag標記
flag標記說明:
last  #本條規則匹配完成后,繼續向下匹配新的location URI規則
break  #本條規則匹配完成即終止,不再匹配后面的任何規則
redirect  #返回302臨時重定向,瀏覽器地址會顯示跳轉后的URL地址
permanent  #返回301永久重定向,瀏覽器地址欄會顯示跳轉后的URL地址

把到本服務的所有請求轉發到www.summer.com

rewrite ^/(.*) http://www.summer.com/$1 break;

把到本服務器的所有請求路徑中以/system開頭的請求 替換成不帶system的,例如http://192.168.25.132/system/sysMenu/tree ,匹配后地址變成 http://127.0.0.1:8080/sysMenu/tree

rewrite ^/system/(.*) /$1 break;        

說明:                                        

rewrite為固定關鍵字,表示開始進行rewrite匹配規則

regex部分是 ^/(.*) ,這是一個正則表達式,匹配完整的域名和后面的路徑地址

replacement部分是http://www.summer.com/$1   $1是取自regex部分()里的內容。匹配成功后跳轉到的URL。

flag部分 break表示停止匹配,然后跳轉到新的 http://www.summer.com/$1 地址上。

server {
        listen       80;
        server_name  localhost;
 
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {
            #/data/manager可以存放靜態頁面
            root   /data/manager;
            index  index.html index.htm;
        }
		location /system {           
        proxy_pass        http://127.0.0.1:8080;
        proxy_redirect    off;
        proxy_set_header  Host  $host;
        proxy_set_header  X-Real-IP  $remote_addr;
        proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
		rewrite ^/system/(.*) /$1 break;		
		}
    }

regex 常用正則表達式說明

關于nginx?反向代理?URL替換方案

rewrite 企業應用場景

Nginx的rewrite功能在企業里應用非常廣泛:

u 可以調整用戶瀏覽的URL,看起來更規范,合乎開發及產品人員的需求。

u 為了讓搜索引擎搜錄網站內容及用戶體驗更好,企業會將動態URL地址偽裝成靜態地址提供服務。

u 網址換新域名后,讓舊的訪問跳轉到新的域名上。例如,訪問京東的360buy.com會跳轉到jd.com

u 根據特殊變量、目錄、客戶端的信息進行URL調整等

分享到:
標簽:nginx 代理 方案 替換 服務器
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定