欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

使用Nodejs進行反向代理-創(chuàng)新互聯(lián)

在實際工程開發(fā)中,會有前后端分離的需求。

高唐ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!

為了平滑的完成前端請求到后端各個獨立服務,需要一個中間件實現(xiàn)請求轉(zhuǎn)發(fā)的功能,利用Nginx可以實現(xiàn),在這里,使用nodejs實現(xiàn)一個反向代理服務器。

實際前端項目背景是node+express做前端路由,提供頁面的基礎渲染和請求轉(zhuǎn)發(fā)。

后端使用java springboot開發(fā)多個微服務(這里沒有使用spring cloud Eureka 做服務管理與API協(xié)調(diào)),每個服務的IP一致,端口不一致。

實驗環(huán)境:nodejs+express端口是3001,啟動一個java服務,端口是8088,在java中添加了一個filter,用來輸出收到的請求地址,使用postman左右客戶端發(fā)起請求

@Override    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
        HttpServletRequest httpRequest = (HttpServletRequest) req;
        System.out.println("請求地址是"+((HttpServletRequest) req).getRequestURI());

首先在原express工程下安裝“http-proxy-middleware”中間件

npm install --save-dev http-proxy-middleware

在express的app.js中進行引用

var proxy = require('http-proxy-middleware');

根據(jù)實際使用情況,進行代理配置

1、轉(zhuǎn)發(fā)所有http請求

使用Nodejs進行反向代理

var options = {
        target: 'http://localhost:8088', // 目標主機
        changeOrigin: true,               // 需要虛擬主機站點    };var exampleProxy = proxy(options);  //開啟代理功能,并加載配置app.use('/', exampleProxy);//對地址為’/‘的請求全部轉(zhuǎn)發(fā)

使用Nodejs進行反向代理

測試:向127.0.0.1:3001發(fā)起任何請求,查看java端接收的情況

請求URL   服務接輸入結果
127.0.0.1:3001/請求地址是/
127.0.0.1:3001/test請求地址是/test
127.0.0.1:3002/test不轉(zhuǎn)發(fā)

2、轉(zhuǎn)發(fā)指定path的請求

app.use('/api', exampleProxy);

測試:

請求URL   服務接輸入結果
127.0.0.1:3001/api/test請求地址是/api/test
127.0.0.1:3001/test不轉(zhuǎn)發(fā)
127.0.0.1:3001/api請求地址是/api
127.0.0.1:3002/test不轉(zhuǎn)發(fā)

3、對指定path規(guī)則進行重定向

使用Nodejs進行反向代理

var options = {
        target: 'http://localhost:8088', // 目標主機
        changeOrigin: true,               // 需要虛擬主機站點
        ws: true,                         // 是否代理websocket        pathRewrite: {            '^/api/old-path' : '/api/new-path',     
            '^/api/remove/path' : '/path',           
            '^/api/auth/login':'/path'
        }
    };var exampleProxy = proxy(options);  //開啟代理功能,并加載配置app.use('/api', exampleProxy);//對地址為’/‘的請求全部轉(zhuǎn)發(fā)

使用Nodejs進行反向代理

測試:

請求URL   服務接輸入結果
127.0.0.1:3001/api/old-path請求地址是/api/new-path
127.0.0.1:3001/api/remove/path請求地址是/path
127.0.0.1:3001/api/auth/login請求地址是/path
127.0.0.1:3001/api/test請求地址是/api/test
127.0.0.1:3001/test不轉(zhuǎn)發(fā)

4、對指定規(guī)則進行路由重定向

這里可以簡單理解為,加入目前我啟動了2個及以上的java服務,端口分別是8088,8089,但前端發(fā)起的請求均是指向127.0.0.1:3001的,代理需要根據(jù)實際的前端請求,解析路徑后,分發(fā)到不同端口(8088,8089)的java服務中

使用Nodejs進行反向代理

var options = {
        target: 'http://localhost:8089', // 這里默認轉(zhuǎn)發(fā)目標為127.0.0.1:8089        router: {             '/rest': 'http://localhost:8088',//如果請求路徑是/api/rest,則將url的請求路由重定向
             '127.0.0.1:3001/api/8003': 'http://localhost:8003',  // 服務該url則重定向        }
    };var exampleProxy = proxy(options);  //開啟代理功能,并加載配置app.use('/api', exampleProxy);//對地址為’/‘的請求全部轉(zhuǎn)發(fā)

使用Nodejs進行反向代理

測試:

請求URL   服務接輸入結果
127.0.0.1:3001/api/rest8088:請求地址是/api/rest
127.0.0.1:3002/api/rest無響應
127.0.0.1:3001/api8088:請求地址是/api
127.0.0.1:3001/api/8003轉(zhuǎn)發(fā)失敗(因為我們目前沒有8003端口的服務)
127.0.0.1:3001/api/rest/32328088:請求地址是/api/rest/3232
127.0.0.1:3001/api8089:請求地址是/api

這里需要注意,代理默認對于/api下的所有請求,都轉(zhuǎn)發(fā)至8089端口的服務,對于router中的配置采取例外處理,會工具規(guī)則轉(zhuǎn)發(fā)至8088服務或8003服務

總結:

實際工程中,推薦采用第三種情況,通過“/api”等通配字符來區(qū)別所有要轉(zhuǎn)發(fā)的請求和常規(guī)http的頁面渲染請求。再根據(jù)實際后臺服務接口,去配置不同的router規(guī)則即可。

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

標題名稱:使用Nodejs進行反向代理-創(chuàng)新互聯(lián)
文章出自:http://aaarwkj.com/article4/dohcie.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設計、ChatGPT手機網(wǎng)站建設、網(wǎng)站改版、網(wǎng)站排名、響應式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)
亚洲黄色录像特级生活片| 日韩在线一区中文字幕| 亚洲一区二区三区香蕉不卡| 亚洲精品在线观看av| 久久久亚洲福利精品午夜| 精品亚洲欧美日韩国产| 97视频观看免费观看| 在线看黄色片播放器日韩| 双高干文男女主都很强| 日韩高清中文字幕在线| 欧美日韩另类激情免费| av天堂资源在线播放| 丰满人妻毛片一区二区三区| 日韩精品视频在线观看| 野花日本免费高清完整| 黄片欧美精品在线观看| 国产精品熟女亚洲av| 欧美成人精品欧美一级黄片| 蜜臀av中文字幕在线| 成人国产亚洲日本欧美| 97免费观看在线观看| 午夜免费视频观看在线| 果冻国产精品麻豆成人av| 日韩精品一区二区三区夜色 | 亚洲无综合素人在线观看| 自拍偷拍亚洲丝袜大秀| 久久av天堂在线观看| 国产无遮挡的免费视频| 中文精品字幕人妻熟女小妇| 校园春色亚洲一区二区| 日韩中文字幕乱码一区| 三级国产大片在线观看| 国产乡下三级_三级全黄| 传媒在线免费观看视频| 亚洲综合一区国产精品| 亚洲欧美国产日韩另类| 亚洲午夜精品毛片成人| 日韩欧美亚洲制服丝袜| 亚洲精品一区二区影院| 伦理在线视频免费观看视频| 日本一区二区视频播放网站|