欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Nginx代理proxy pass配置去除前綴的實(shí)現(xiàn)

 更新時間:2019年10月12日 09:28:36   作者:@Ryan Miao  
這篇文章主要介紹了Nginx代理proxy pass配置去除前綴的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

目錄

  • 一個種方案是proxy_pass后面加根路徑/.
  • 另一種方案是使用rewrite

使用Nginx做代理的時候,可以簡單的直接把請求原封不動的轉(zhuǎn)發(fā)給下一個服務(wù)。

比如,訪問abc.com/appv2/a/b.html, 要求轉(zhuǎn)發(fā)到localhost:8088/appv2/a/b.html

簡單配置如下:

upstream one {
 server localhost:8088 weight=5;
}

server {
  listen       80;
  server_name     abc.com;
  access_log "pipe:rollback /data/log/nginx/access.log interval=1d baknum=7 maxsize=1G" main;

  location / {
    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_set_header X-NginX-Proxy true;

    proxy_pass http://one;
  }

}

即,設(shè)置proxy_pass即可。請求只會替換域名。

但很多時候,我們需要根據(jù)url的前綴轉(zhuǎn)發(fā)到不同的服務(wù)。

比如

abc.com/user/profile.html轉(zhuǎn)發(fā)到 用戶服務(wù)localhost:8089/profile.html

abc.com/order/details.html轉(zhuǎn)發(fā)到 訂單服務(wù) localhost:8090/details.html

即,url的前綴對下游的服務(wù)是不需要的,除非下游服務(wù)添加context-path, 但很多時候我們并不喜歡加這個。如果Nginx轉(zhuǎn)發(fā)的時候,把這個前綴去掉就好了。

一個種方案是proxy_pass后面加根路徑/.

server {
  listen       80;
  server_name     abc.com;
  access_log "pipe:rollback /data/log/nginx/access.log interval=1d baknum=7 maxsize=1G" main;

  location ^~/user/ {
    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_set_header X-NginX-Proxy true;

    proxy_pass http://user/;
  }

  location ^~/order/ {
    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_set_header X-NginX-Proxy true;

    proxy_pass http://order/;
  }

}

^~/user/表示匹配前綴是user的請求,proxy_pass的結(jié)尾有/, 則會把/user/*后面的路徑直接拼接到后面,即移除user.

另一種方案是使用rewrite

upstream user {
 server localhost:8089 weight=5;
}
upstream order {
 server localhost:8090 weight=5;
}


server {
  listen       80;
  server_name     abc.com;
  access_log "pipe:rollback /data/log/nginx/access.log interval=1d baknum=7 maxsize=1G" main;

  location ^~/user/ {
    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_set_header X-NginX-Proxy true;

    rewrite ^/user/(.*)$ /$1 break;
    proxy_pass http://user;
  }

  location ^~/order/ {
    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_set_header X-NginX-Proxy true;

    rewrite ^/order/(.*)$ /$1 break;
    proxy_pass http://order;
  }

}

注意到proxy_pass結(jié)尾沒有/, rewrite重寫了url。

關(guān)于rewrite

syntax: rewrite regex replacement [flag]
Default: —
Context: server, location, if

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • nginx配置https加密訪問的詳細(xì)教程

    nginx配置https加密訪問的詳細(xì)教程

    這篇文章主要介紹了nginx配置https加密訪問的詳細(xì)教程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • Nginx 只允許 www 域名訪問并禁止裸域名訪問的實(shí)現(xiàn)步驟

    Nginx 只允許 www 域名訪問并禁止裸域名訪問的實(shí)現(xiàn)步驟

    通過Nginx配置,可以設(shè)定僅允許www域名訪問,禁止或重定向裸域名,提升網(wǎng)站品牌統(tǒng)一性及用戶體驗(yàn),設(shè)置包括創(chuàng)建針對www的虛擬主機(jī),禁止裸域名訪問,并可選進(jìn)行裸域名到www的301重定向,完成后,重啟Nginx服務(wù)器使配置生效
    2024-10-10
  • nginx部署多前端項(xiàng)目的幾種方法

    nginx部署多前端項(xiàng)目的幾種方法

    最近一臺服務(wù)器要配置多個前端項(xiàng)目,個人總結(jié)了3種方法來實(shí)現(xiàn)在一臺服務(wù)器上使用nginx部署多個前端項(xiàng)目的方法。需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • Nginx實(shí)現(xiàn)UDP四層轉(zhuǎn)發(fā)的過程

    Nginx實(shí)現(xiàn)UDP四層轉(zhuǎn)發(fā)的過程

    為了解決VPN連接速度慢的問題,可以通過Nginx實(shí)現(xiàn)UDP的四層轉(zhuǎn)發(fā),首先檢查Nginx是否安裝了with-stream模塊,然后修改nginx.conf配置文件進(jìn)行UDP端口的轉(zhuǎn)發(fā)設(shè)置,使用nginx-t檢查配置文件語法,無誤后重新加載Nginx,這樣通過國內(nèi)服務(wù)器中轉(zhuǎn),可以提升連接到國外服務(wù)器的速率
    2024-09-09
  • Nginx下301重定向域名的方法小結(jié)

    Nginx下301重定向域名的方法小結(jié)

    在網(wǎng)站建設(shè)中需要網(wǎng)頁重定向的情況很多:如網(wǎng)頁目錄結(jié)構(gòu)變動,網(wǎng)頁重命名、網(wǎng)頁的擴(kuò)展名改變、網(wǎng)站域名改變等。
    2010-08-08
  • nginx添加ssl模塊的方法教程

    nginx添加ssl模塊的方法教程

    這篇文章主要給大家介紹了關(guān)于nginx添加ssl模塊的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)許吧。
    2017-12-12
  • Nginx中實(shí)現(xiàn)訪問HTTP請求時自動跳轉(zhuǎn)到HTTPS請求

    Nginx中實(shí)現(xiàn)訪問HTTP請求時自動跳轉(zhuǎn)到HTTPS請求

    本文主要介紹了Nginx中實(shí)現(xiàn)訪問HTTP請求時自動跳轉(zhuǎn)到HTTPS請求,下面介紹了兩種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • nginx proxy_set_header的具體實(shí)現(xiàn)

    nginx proxy_set_header的具體實(shí)現(xiàn)

    proxy_set_header?是 Nginx 配置中的一個重要指令,本文主要介紹了nginx proxy_set_header的具體實(shí)現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2024-07-07
  • 淺析Nginx如何實(shí)現(xiàn)接口分流

    淺析Nginx如何實(shí)現(xiàn)接口分流

    這篇文章主要為大家詳細(xì)Nginx如何實(shí)現(xiàn)接口分流的基本步驟和示例配置,文中的示例代碼簡潔易懂,有需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-10-10
  • Nginx服務(wù)狀態(tài)監(jiān)控的方法

    Nginx服務(wù)狀態(tài)監(jiān)控的方法

    這篇文章主要介紹了Nginx服務(wù)狀態(tài)監(jiān)控的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06

最新評論