最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nginx反向代理如何到訪問(wèn)者機(jī)器上(后端調(diào)試)

 更新時(shí)間:2024年06月18日 10:43:30   作者:No Big Deal  
這篇文章主要介紹了Nginx反向代理如何到訪問(wèn)者機(jī)器上(后端調(diào)試),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Nginx反向代理到訪問(wèn)者機(jī)器上

起因

因一名后端開(kāi)發(fā),不想使用postman等工具進(jìn)行接口調(diào)試,因?yàn)閣eb系統(tǒng)需要經(jīng)過(guò)N多步驟的前置動(dòng)作,不能保證參數(shù)的有效性,因此,需要直接點(diǎn)擊web系統(tǒng),觸發(fā)本地后端代碼。

但是,總不可能動(dòng)不動(dòng)就讓前端給自己起一個(gè)項(xiàng)目吧,于是就用nginx進(jìn)行部署前端項(xiàng)目,代理轉(zhuǎn)發(fā)的形式,將接口轉(zhuǎn)發(fā)到后端機(jī)器上。

因此有了關(guān)于這個(gè)配置的折騰。

配置

以下配置是用shell腳本生成的,需要參考腳本生成配置的,可以自己去翻下

配置內(nèi)容,就以注釋形式進(jìn)行說(shuō)明

# financeapi server配置 由腳本生成
server {
    listen 1001;
    
    ### 因?yàn)樯婕暗降谌降奈募?wù)器,當(dāng)特定的接口匹配時(shí),轉(zhuǎn)發(fā)到第三方文件服務(wù)器上
    ### 307的作用是:在轉(zhuǎn)發(fā)過(guò)程中不改變?cè)钦?qǐng)求的任何內(nèi)容(請(qǐng)求方式、請(qǐng)求頭、請(qǐng)求體等)
    location  /fronteapi/fs/uploadFile/ {
        return 307 http://10.10.10.10/fronteapi/fs/uploadFile/;
    }
	### 后端接口主要在這個(gè)路由里進(jìn)行匹配
	
    location  /frontapi/ {
    	### 因?yàn)閜roxy_pass是自己拼接的,不是寫死的字符串,因此在進(jìn)行代理轉(zhuǎn)發(fā)時(shí),
    	### 會(huì)丟失請(qǐng)求參數(shù),需要提前保存,最后拼在proxy_pass上
        if ($request_uri ~* "financeapi(/.*$)") {
            set  $path_remainder  $1;
        }
        ### 代理轉(zhuǎn)發(fā)的主要配置,$remote_addr為nginx內(nèi)置的變量,可表示訪問(wèn)者的IP,本文主題就是這個(gè)變量體現(xiàn)的
        
        proxy_pass http://$remote_addr:8079/$path_remainder;
        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_cookie_path / "/; HTTPOnly; SameSite=Lax; Max-Age=86400";
    }
	
	### 靜態(tài)前端項(xiàng)目的根目錄路徑配置,相當(dāng)于入口
    location / {
        root /home/docker/frontApp/front-web/dist;
        index index.html;
        try_files $uri $uri/ /index.html;
        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_cookie_path / "/; HTTPOnly; SameSite=Lax; Max-Age=86400";
    }
	
	### 因?yàn)檎J(rèn)證用的是3方認(rèn)證服務(wù),因此當(dāng)如下路徑觸發(fā)時(shí)候,需要重寫當(dāng)前路徑
    location = /auth/oauth2/authorize {
        rewrite ^  http://xxx/auth/oauth2/authorize;
    }
   
}
# financeapi server配置 生成成功

Nginx反向代理實(shí)現(xiàn)指定接口訪問(wèn)指定機(jī)器

location表達(dá)式類型

  • location = 表示精確匹配
  • location ^~ 表示uri以指定字符或字符串開(kāi)頭
  • location ~ 表示區(qū)分大小寫的正則匹配
  • location ~* 表示不區(qū)分大小寫的正則匹配
  • location / 通用匹配,任何請(qǐng)求都會(huì)匹配到

匹配的優(yōu)先級(jí)順序

( localtion = ) > ( localtion 完整url ) > ( localtion ^~ ) > ( localtion ,* ) > ( lcoaltion部分起始路徑 ) > ( / )

需求

nginx反向代理某服務(wù)有兩個(gè)負(fù)載,要求 某個(gè) 或者 某系列 請(qǐng)求 打向指定負(fù)載

  • 定義upstream
    #7080 7091 2負(fù)載服務(wù)
	upstream gateway-all {
        server 127.0.0.1:7080;
        server 127.0.0.1:7081;
    }
	#7080服務(wù)
    upstream gateway-7080 {
        server 127.0.0.1:7080;
    }
	#7081服務(wù)
    upstream gateway-7081 {
        server 127.0.0.1:7081;
    }

要求 /api/v1/login 請(qǐng)求 7080機(jī)器,/api/v1/logout 請(qǐng)求 7081機(jī)器,其他請(qǐng)求走負(fù)載,/test-gateway 是反向代理服務(wù)的上下文

  • 實(shí)現(xiàn)一:定義不同的localtion,路由不同的uri
    location /test-gateway/api/v1/login  {
    	#指向上面的upstream
        proxy_pass http://gateway-7080;
    }
    
    location /test-gateway/api/v1/logout  {
    	#指向上面的upstream
        proxy_pass http://gateway-7081;
    }    
    
    location /test-gateway  {
    	#指向上面的upstream
        proxy_pass http://gateway-all;
    }
  • 實(shí)現(xiàn)二:一個(gè)localtion,路由不同的uri
    location /test-gateway {
		if ($request_uri ~* "/api/v1/login"){
			proxy_pass http://gateway-7080;
		}
		if ($request_uri ~* "/api/v1/logout"){
			proxy_pass http://gateway-7081;
		}
        proxy_pass http://gateway-all;
    }

location 靈活多變,具體哪種適合自己,根據(jù)自己的業(yè)務(wù)場(chǎng)景來(lái)做選擇

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Nginx could not build the server_names_hash 錯(cuò)誤的解決辦法

    Nginx could not build the server_names_hash 錯(cuò)誤的解決辦法

    這篇文章主要介紹了Nginx could not build the server_names_hash 錯(cuò)誤的解決辦法,需要的朋友可以參考下
    2014-03-03
  • nginx部署前端項(xiàng)目location時(shí)root和alias配置指南

    nginx部署前端項(xiàng)目location時(shí)root和alias配置指南

    nginx指定文件路徑有兩種方式root和alias,下面這篇文章主要給大家介紹了關(guān)于nginx部署前端項(xiàng)目location時(shí)root和alias配置的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • nginx日志格式分析以及修改詳解

    nginx日志格式分析以及修改詳解

    Nginx日志對(duì)于統(tǒng)計(jì)、系統(tǒng)服務(wù)排錯(cuò)很有用,下面這篇文章主要給大家介紹了關(guān)于nginx日志格式分析以及修改的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • Nginx域名轉(zhuǎn)發(fā)使用場(chǎng)景代碼實(shí)例

    Nginx域名轉(zhuǎn)發(fā)使用場(chǎng)景代碼實(shí)例

    這篇文章主要介紹了Nginx域名轉(zhuǎn)發(fā)使用場(chǎng)景代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Nginx geoip模塊實(shí)現(xiàn)地區(qū)性負(fù)載均衡

    Nginx geoip模塊實(shí)現(xiàn)地區(qū)性負(fù)載均衡

    相信做過(guò)awstats的都用過(guò)開(kāi)源的geoip.dat ip數(shù)據(jù)庫(kù),剛好nginx wiki上有g(shù)eoip 模塊,這樣就可以實(shí)現(xiàn)地區(qū)性的負(fù)載均衡,但是maxmind 的ip數(shù)據(jù)庫(kù)對(duì)中國(guó)的支持不算太好,不過(guò)現(xiàn)在也不錯(cuò)了~
    2010-12-12
  • Nginx搭建圖片視頻服務(wù)器的部署步驟

    Nginx搭建圖片視頻服務(wù)器的部署步驟

    這篇文章主要介紹了Nginx搭建圖片視頻服務(wù)器的部署步驟,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • Nginx路由匹配規(guī)則及優(yōu)先級(jí)詳解

    Nginx路由匹配規(guī)則及優(yōu)先級(jí)詳解

    Nginx作為一個(gè)高性能的Web服務(wù)器和反向代理服務(wù)器,廣泛用于負(fù)載均衡、請(qǐng)求轉(zhuǎn)發(fā)等場(chǎng)景,在配置Nginx時(shí),路由匹配規(guī)則是非常重要的概念,本文將詳細(xì)介紹Nginx的路由匹配規(guī)則及其優(yōu)先級(jí),需要的朋友可以參考下
    2025-05-05
  • 詳解nginx rewrite和根據(jù)url參數(shù)location

    詳解nginx rewrite和根據(jù)url參數(shù)location

    本篇文章主要是介紹了nginx rewrite和根據(jù)url參數(shù)location,有興趣的同學(xué)可以了解以下。
    2016-11-11
  • nginx cache不緩存問(wèn)題的原因與解決方案

    nginx cache不緩存問(wèn)題的原因與解決方案

    最近在工作中遇到了一個(gè)問(wèn)題,發(fā)現(xiàn)nginx cache居然不緩存,后來(lái)通過(guò)查找網(wǎng)上的資料找到了原因和解決方案,下面整理好分享給大家,同樣遇到這個(gè)問(wèn)題的朋友們可以參考借鑒,下面和小編一起來(lái)學(xué)習(xí)學(xué)習(xí)吧。
    2016-10-10
  • Centos離線安裝Nginx全過(guò)程

    Centos離線安裝Nginx全過(guò)程

    文章講述了如何在CentOS系統(tǒng)上離線安裝Nginx環(huán)境,包括準(zhǔn)備必要的依賴庫(kù)(如C++環(huán)境、openssl、pcre、zlib),編譯Nginx源碼,以及啟動(dòng)Nginx并驗(yàn)證安裝是否成功
    2025-11-11

最新評(píng)論

德江县| 吉首市| 贵南县| 山东省| 小金县| 太谷县| 黎川县| 祁连县| 吕梁市| 绍兴县| 新田县| 衡阳县| 峡江县| 星子县| 依安县| 唐海县| 河北区| 定日县| 辽中县| 富川| 济阳县| 瓦房店市| 岳阳市| 景德镇市| 慈溪市| 准格尔旗| 睢宁县| 奈曼旗| 聂拉木县| 上思县| 宿州市| 北辰区| 墨竹工卡县| 邵阳市| 兰西县| 体育| 澳门| 玛纳斯县| 若尔盖县| 东平县| 文水县|