如何基于http代理解決Java固定ip問(wèn)題
背景:對(duì)接第三方接口,第三方為安全考慮,需要固定ip設(shè)置白名單。公司對(duì)外使用動(dòng)態(tài)ip。
辦法:
1. 購(gòu)買(mǎi)一臺(tái)ip固定的服務(wù)器,比如云虛擬服務(wù)器。搭建http代理服務(wù)器,比如prioxy。
2.安裝Privoxy代理軟件
yum install -y epel-release privoxy
編輯 /etc/privoxy/config 文件
修改綁定地址,搜索 listen-address ,修改需要綁定的IP
listen-address 0.0.0.0:8118
設(shè)置enable-remote-toggle 為 1
enable-remote-toggle 1
重啟服務(wù)
service privoxy restart
查看服務(wù)狀態(tài)
[root@localhost ~]# service privoxy status Redirecting to /bin/systemctl status privoxy.service ● privoxy.service - Privoxy Web Proxy With Advanced Filtering Capabilities Loaded: loaded (/usr/lib/systemd/system/privoxy.service; disabled; vendor preset: disabled) Active: active (running) since Wed 2020-03-04 17:38:26 CST; 5s ago Process: 23138 ExecStart=/usr/sbin/privoxy --pidfile /run/privoxy.pid --user privoxy /etc/privoxy/config (code=exited, status=0/SUCCESS) Main PID: 23139 (privoxy) Memory: 872.0K CGroup: /system.slice/privoxy.service └─23139 /usr/sbin/privoxy --pidfile /run/privoxy.pid --user privox... Mar 04 17:38:25 localhost.localdomain systemd[1]: Starting Privoxy Web Proxy ... Mar 04 17:38:26 localhost.localdomain systemd[1]: Started Privoxy Web Proxy W... Hint: Some lines were ellipsized, use -l to show in full. [root@localhost ~]# netstat -anop | grep 8118 tcp 0 0 0.0.0.0:8118 0.0.0.0:* LISTEN 23139/privoxy off (0.00/0/0) tcp 0 0 172.16.1.120:8311 172.16.1.123:28118 ESTABLISHED 15519/nginx: worker off (0.00/0/0)
3.HttpClient 設(shè)置代理
HttpPost httpPost = new HttpPost(url); //設(shè)置代理IP,設(shè)置連接超時(shí)時(shí)間 、 設(shè)置 請(qǐng)求讀取數(shù)據(jù)的超時(shí)時(shí)間 、 設(shè)置從connect Manager獲取Connection超時(shí)時(shí)間、 HttpHost proxy = new HttpHost("172.16.1.120",8118); RequestConfig requestConfig = RequestConfig.custom() .setProxy(proxy) .setConnectTimeout(10000) .setSocketTimeout(10000) .setConnectionRequestTimeout(3000) .build(); httpPost.setConfig(requestConfig);
如果是無(wú)法修改的jar,本地如何調(diào)試?
找到目標(biāo)源代碼,在項(xiàng)目代碼目錄下新建一個(gè)和目標(biāo)代碼一樣的package,并新建同名類(lèi)文件,拷貝目標(biāo)類(lèi)代碼至新文件,然后進(jìn)行對(duì)應(yīng)代理的設(shè)置。
原理是代碼只加載一次,誰(shuí)最優(yōu)先加載誰(shuí),從而實(shí)現(xiàn)代碼覆蓋。
注意:本地開(kāi)發(fā)調(diào)試完畢后,請(qǐng)刪除這個(gè)覆蓋文件。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- java httpclient設(shè)置超時(shí)時(shí)間和代理的方法
- java模擬http的Get/Post請(qǐng)求,并設(shè)置ip與port代理的方法
- java實(shí)現(xiàn)http的Post、Get、代理訪問(wèn)請(qǐng)求
- java實(shí)現(xiàn)輕量型http代理服務(wù)器示例
- java IP地址網(wǎng)段計(jì)算的示例代碼
- eclipse/IDEA配置javafx項(xiàng)目步驟(圖文教程)
- Java實(shí)現(xiàn)復(fù)原IP地址的方法
- Java獲取客戶(hù)端真實(shí)IP地址過(guò)程解析
相關(guān)文章
java理論基礎(chǔ)Stream API終端操作示例解析
這篇文章主要為大家介紹了java理論基礎(chǔ)Stream API終端操作示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03JAVA簡(jiǎn)單工廠模式(從現(xiàn)實(shí)生活角度理解代碼原理)
本文主要介紹了JAVA簡(jiǎn)單工廠模式(從現(xiàn)實(shí)生活角度理解代碼原理)的相關(guān)知識(shí)。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-03-03String轉(zhuǎn)double失去精度問(wèn)題及解決
這篇文章主要介紹了關(guān)于String轉(zhuǎn)double失去精度問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07到底如何設(shè)置Java線(xiàn)程池的大小的方法示例
在我們?nèi)粘I(yè)務(wù)開(kāi)發(fā)過(guò)程中,或多或少都會(huì)用到并發(fā)的功能。那么并發(fā)線(xiàn)程池到底設(shè)置多大呢?文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09詳解 Java HashMap 實(shí)現(xiàn)原理
這篇文章主要介紹了詳解 Java HashMap 實(shí)現(xiàn)原理的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下2021-03-03解決@Async(“taskExecutor“)異步線(xiàn)程報(bào)錯(cuò)問(wèn)題
這篇文章主要介紹了解決@Async(“taskExecutor“)異步線(xiàn)程報(bào)錯(cuò)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08java實(shí)現(xiàn)后臺(tái)處理base64圖片還原為文件
這篇文章主要介紹了java實(shí)現(xiàn)后臺(tái)處理base64圖片還原為文件,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02spring security結(jié)合jwt實(shí)現(xiàn)用戶(hù)重復(fù)登錄處理
本文主要介紹了spring security結(jié)合jwt實(shí)現(xiàn)用戶(hù)重復(fù)登錄處理,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03Java漢字轉(zhuǎn)拼音工具類(lèi)完整代碼實(shí)例
這篇文章主要介紹了java漢字轉(zhuǎn)拼音工具類(lèi)完整代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03