日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

JAVA HTTP反向代理實(shí)現(xiàn)過(guò)程詳解

瀏覽:25日期:2022-08-30 09:23:08

 反向代理(Reverse Proxy)方式是指以代理服務(wù)器來(lái)接受internet上的連接請(qǐng)求,然后將請(qǐng)求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的服務(wù)器,并將從服務(wù)器上得到的結(jié)果返回給internet上請(qǐng)求連接的客戶端,此時(shí)代理服務(wù)器對(duì)外就表現(xiàn)為一個(gè)反向代理服務(wù)器。

 簡(jiǎn)單來(lái)說(shuō),你的反向代理服務(wù)器會(huì)接收請(qǐng)求,但其自身不處理該請(qǐng)求,而是對(duì)請(qǐng)求經(jīng)過(guò)一些處理,例如添加日志、緩存、身份驗(yàn)證等服務(wù),然后再將請(qǐng)求轉(zhuǎn)發(fā)到相應(yīng)的應(yīng)用服務(wù)器中進(jìn)行處理,最后將處理結(jié)果返回。

我目前的需求是,A應(yīng)用需要訪問(wèn)B應(yīng)用的報(bào)表頁(yè)面,B應(yīng)用沒(méi)有源碼,要求自動(dòng)處理B應(yīng)用的登錄權(quán)限。避免用戶重復(fù)登錄。

1. 引入相關(guān)依賴

<dependency> <groupId>org.mitre.dsmiley.httpproxy</groupId> <artifactId>smiley-http-proxy-servlet</artifactId> <version>1.11</version></dependency>

這個(gè)jar包,只有兩個(gè)類,其中核心的就是 ProxyServlet,

作者重寫了HttpServlet的相關(guān)方法。他復(fù)制了新的request為proxyRequest,

然后替換了地址和相關(guān)屬性,并使用HttpClient將proxyRequest發(fā)送出去,

然后將接收到的proxyResponse的內(nèi)容再?gòu)?fù)制給 HttpResponse 。

相當(dāng)于中轉(zhuǎn)站。具體請(qǐng)看源碼。

https://github.com/mitre/HTTP-Proxy-Servlet

2.spring使用:

2.1 application.yml增加代理參數(shù)配置

# 設(shè)置代理proxy: servlet_url: /webappB/* target_url: https://webappB_HOST_IP:8001/webappB其他demo # servlet_url: /proxybaidu/* # target_url: https://www.baidu.com

此處有玄機(jī):

為什么源url和目標(biāo)url根路徑要一致(都為/webappB/)呢?

這是因?yàn)椋?target_url頁(yè)面里不止文本顯示,還有其他資源的調(diào)用,比如圖片,比如里面的js又調(diào)用了其他url.

這樣的話,假如 target頁(yè)面里某個(gè)圖片的url是相對(duì)路徑 img/test.jpg;

你的頁(yè)面上圖的 /webappC/image/test.jpg; 這樣host換了以后是找不到圖片地址的。

當(dāng)然你也可以改下proxyServlet的源碼,讓它換成正確的url地址。如果不想改源碼的話,那還是一致的比較好。少麻煩。

2.2 注冊(cè)servlet.

@Configurationpublic class ProxyServletConfiguration { /** * 讀取配置文件中路由設(shè)置 */ @Value('${proxy.servlet_url}') private String servlet_url; /** * 讀取配置中代理目標(biāo)地址 */ @Value('${proxy.target_url}') private String target_url; @Bean public Servlet createProxyServlet() { /** 創(chuàng)建新的ProxyServlet */ return new ProxyServlet(); } @Bean public ServletRegistrationBean proxyServletRegistration() { ServletRegistrationBean registrationBean = new ServletRegistrationBean(createProxyServlet(), servlet_url); //設(shè)置網(wǎng)址以及參數(shù) Map<String, String> params = ImmutableMap.of('targetUri', target_url, 'log', 'true'); registrationBean.setInitParameters(params); return registrationBean; }}

2.3測(cè)試。ok.

localhost:8080/proxybaidu/

2.4. 當(dāng)然你也可以重新寫個(gè)類,MyProxyServlet繼承ProxyServlet.

重新其中的 execute方法。添加相關(guān)的功能。日志,權(quán)限登錄等。

@Override protected HttpResponse (HttpServletRequest servletRequest, HttpServletResponse servletResponse, HttpRequest proxyRequest) throws IOException {//設(shè)置header里的授權(quán)信息 proxyRequest.setHeader('Authorization', 'Basic ' + getWebappBLoginAuth()); HttpResponse response = super.doExecute(servletRequest, servletResponse, proxyRequest);// 設(shè)置跨域,暫時(shí)不用。// String origin = servletRequest.getHeader('origin');// response.setHeader('Access-Control-Allow-Origin', origin);// response.setHeader('Access-Control-Allow-Credentials', 'true');// response.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');// response.setHeader('Access-Control-Allow-Headers',//'Accept,Authorization,Cache-Control,Content-Type,DNT,If-Modified-Since,Keep-Alive,Origin' +// ',User-Agent,X-Mx-ReqToken,X-Requested-With'); return response; }

2.5 后記

這個(gè)ProxyServlet 跟 nginx看著基本功能一樣了,都可以反向代理了。不過(guò)擴(kuò)展功能和IO性能肯定跟nginx沒(méi)法比。但是這個(gè)是用java語(yǔ)言寫的。方便二次開發(fā)。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产毛片精品| 高清av一区| 日韩视频网站在线观看| 日韩福利视频一区| 欧美日韩国产高清| 美女少妇全过程你懂的久久| 久久激情中文| 中文亚洲欧美| 欧洲一级精品| 久久免费国产| 99在线|亚洲一区二区| 久热综合在线亚洲精品| 三级在线观看一区二区| 亚洲毛片在线免费| 国产精品久久国产愉拍| 国产一区二区三区四区五区传媒| av在线最新| 99riav国产精品| 日韩国产一二三区| 国产精品久久久久久久久久久久久久久 | 日韩av一区二区三区| 欧美色综合网| 麻豆国产一区| 国产99精品一区| 视频一区二区欧美| 国产日韩高清一区二区三区在线 | 欧美激情五月| 亚洲高清av| 日韩精品亚洲aⅴ在线影院| 国产精品v日韩精品v欧美精品网站| 给我免费播放日韩视频| 久久青草久久| 国产私拍福利精品视频二区| 夜鲁夜鲁夜鲁视频在线播放| 久久成人国产| 精品99久久| 综合激情网站| 日韩电影在线视频| 日韩黄色av| 黑丝一区二区| 日韩精品欧美精品| 免费日韩一区二区三区| 亚洲免费播放| 在线精品亚洲| 国产欧美在线| 免费看av不卡| av在线日韩| 伊人久久大香线蕉av超碰演员| 中文字幕一区二区三区四区久久 | 国产精品精品| 亚洲精品九九| 成人日韩av| 天海翼精品一区二区三区| 日韩.com| 国产精品久久久久9999高清| av亚洲一区二区三区| 亚洲欧美日韩在线观看a三区| 中文字幕日韩高清在线| 欧美激情 亚洲a∨综合| 日韩不卡免费视频| 99视频精品| 尤物tv在线精品| 精品成人免费一区二区在线播放| 精品网站aaa| 国产精品久久久免费| 蜜桃视频第一区免费观看| 欧美日韩国产高清电影| 亚洲小说欧美另类婷婷| 亚洲午夜精品久久久久久app| 免费在线日韩av| 国产欧美一级| 亚洲精品在线a| 首页国产欧美久久| 国产一区二区亚洲| 日韩成人一级| 欧美日韩一区二区综合 | 中文字幕亚洲影视| 国产精品13p| 麻豆91小视频| 日韩黄色在线观看| 中文在线不卡| 日韩激情视频网站| 国产精品尤物| 日韩在线第七页| 成午夜精品一区二区三区软件| 国产日韩高清一区二区三区在线 | 蜜桃av在线播放| 久久精品播放| 在线精品视频一区| 日韩精品一区二区三区中文| 91麻豆精品| 精品一区二区三区中文字幕在线| 欧美国产美女| 久久久久蜜桃| 免费在线欧美视频| 欧美日韩 国产精品| 日韩国产一区二区| 日韩高清不卡| 视频一区二区中文字幕| 国产精品久久久网站| 欧美日韩国产v| 日本在线视频一区二区| 高清日韩欧美| 日韩中文字幕在线一区| 开心激情综合| 伊人久久亚洲热| 精品一区二区三区视频在线播放| 日韩精品欧美激情一区二区| 日韩一级网站| 久久伊人国产| 日韩中文字幕91| 精品国内亚洲2022精品成人| 私拍精品福利视频在线一区| 日本一不卡视频| 久久中文字幕av| 国内不卡的一区二区三区中文字幕| 美女久久网站| 国产精选在线| 久久香蕉精品| 日韩精品免费一区二区三区| 国产精选久久| 视频一区中文字幕国产| 欧美99久久| 久久精品国内一区二区三区| 日本亚洲视频在线| 免费视频亚洲| 最新中文字幕在线播放| 亚洲日韩视频| 亚洲激情偷拍| 亚洲在线观看| 婷婷激情综合| 999国产精品999久久久久久| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 视频在线不卡免费观看| 精品国产欧美| 久久免费精品| 国内自拍视频一区二区三区| 青草国产精品久久久久久| 蜜桃视频免费观看一区| 喷白浆一区二区| 亚洲精品高潮| 久久精品xxxxx| 国产精品一区免费在线| 国产精品超碰| 亚洲黄色免费av| 亚洲午夜精品久久久久久app| 亚洲免费婷婷| 啪啪亚洲精品| 国产伦久视频在线观看| 99久久久久国产精品| 国产毛片久久| 国产亚洲精品精品国产亚洲综合| 久久精品99久久久| 高清一区二区三区av| 亚洲精品午夜av福利久久蜜桃| 三级欧美韩日大片在线看| 国产精品一国产精品k频道56| 国产一区二区三区四区二区| 啪啪国产精品| 一区二区91| 麻豆高清免费国产一区| 午夜av成人| 亚洲va久久久噜噜噜久久| 精品视频国内| 免费人成在线不卡| 久久精品福利| 日韩精品亚洲专区| 国产精品精品| 91欧美精品| 影音先锋久久| 国产aa精品| 在线精品观看| 99久久精品网| 成人一区不卡| 国产欧美一区二区色老头| 亚洲大片在线| 国产成人久久| 国产精选久久| 日韩精品视频一区二区三区| 米奇777超碰欧美日韩亚洲| 久久99性xxx老妇胖精品| 中文字幕日本一区二区| 久久久久久久欧美精品| 在线观看免费一区二区| 国产夫妻在线| 国产精品亚洲四区在线观看| 伊人久久亚洲| 天堂√8在线中文| 青青草国产成人99久久| 99在线精品视频在线观看| 深夜视频一区二区| 精品国产成人| 国产精品mv在线观看| 欧美天堂一区| 国产麻豆一区二区三区精品视频| 五月国产精品| 欧美亚洲一区二区三区| 国产精品15p| 美女高潮久久久| 精品五月天堂|