使用lanproxy進(jìn)行內(nèi)網(wǎng)穿透

內(nèi)網(wǎng)穿透

《微信本地調(diào)試》一文中狰住,小編提到了使用ngrok、natapp和花生殼進(jìn)行內(nèi)網(wǎng)穿透丸冕。但是,想要使用自定義域名挨约,都是要收費(fèi)的。

本文中产雹,我們要搭建一個(gè)免費(fèi)的內(nèi)網(wǎng)穿透服務(wù)器诫惭。內(nèi)網(wǎng)穿透服務(wù)器,可選的軟件有l(wèi)anproxy蔓挖、frp夕土、n2n等等,今天我們選擇的是lanproxy瘟判。

原文地址:http://www.voidking.com/dev-lanproxy/

準(zhǔn)備

1怨绣、一臺(tái)公網(wǎng)服務(wù)器(運(yùn)行proxy-server)。
2拷获、一臺(tái)內(nèi)網(wǎng)pc或服務(wù)器(運(yùn)行proxy-client)篮撑。

服務(wù)端配置

安裝java

1、刪除自帶jdk

rpm -e --nodeps `rpm -qa | grep java`

2匆瓜、查看yum庫(kù)中有哪些jdk版本赢笨。
yum search java | grep jdk

3邪财、選擇java-1.8.0-openjdk-devel.x86_64 : OpenJDK Development Environment版本進(jìn)行安裝。
yum install java-1.8.0-openjdk-devel.x86_64

默認(rèn)安裝目錄為/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.141-1.b16.el7_3.x86_64质欲。

4、配置環(huán)境變量
vim /etc/profile

在最后添加:

#set java environment
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.141-1.b16.el7_3.x86_64
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH

5糠馆、讓修改立即生效
source /etc/profile

6嘶伟、查看安裝結(jié)果
javajavac又碌,java -version

安裝lanproxy

1九昧、訪問lanproxy下載地址,下載proxy-server-0.1.zip毕匀,上傳到公網(wǎng)服務(wù)器铸鹰。

或者,直接在服務(wù)器上下載
wget https://github.com/ffay/lanproxy/files/1274739/proxy-server-0.1.zip

curl -C - -O -L https://github.com/ffay/lanproxy/files/1274739/proxy-server-0.1.zip

2皂岔、解壓安裝
unzip proxy-server-0.1.zip

mv proxy-server-0.1 /usr/local/

3蹋笼、修改配置文件
vim /usr/local/proxy-server-0.1/conf/config.properties
修改管理員的用戶名和密碼。

4躁垛、啟動(dòng)服務(wù)
cd /usr/local/proxy-server-0.1/bin

chmod +x startup.sh

./startup.sh

5剖毯、訪問 http://host_ip:8090 ,即可看到登錄界面教馆。

nginx反向代理

1逊谋、添加域名解析local到公網(wǎng)ip。

2土铺、在nginx虛擬主機(jī)配置目錄中胶滋,添加local.voidking.com.conf,內(nèi)容如下:

server {
    listen 80;
    server_name local.voidking.com;
    charset utf-8;
    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;
        client_max_body_size       1024m;
        client_body_buffer_size    128k;
        client_body_temp_path      data/client_body_temp;
        proxy_connect_timeout      90;
        proxy_send_timeout         90;
        proxy_read_timeout         90;
        proxy_buffer_size          4k;
        proxy_buffers              4 32k;
        proxy_busy_buffers_size    64k;
        proxy_temp_file_write_size 64k;
        proxy_temp_path            data/proxy_temp;
        
        proxy_pass http://127.0.0.1:8090;
    }
}

3悲敷、測(cè)試nginx
./nginx -t究恤,也許會(huì)提示缺少目錄,那么新建目錄后德。
mkdir -p /usr/local/nginx/data/client_body_temp

mkdir -p /usr/local/nginx/data/proxy_temp

4丁溅、重啟nginx
./nginx -s reload

5、訪問 http://local.voidking.com/ 探遵,即可看到登錄界面窟赏。

使用

服務(wù)端配置

1、登錄lanproxy箱季,添加客戶端涯穷,輸入客戶端備注名稱,生成隨機(jī)密鑰藏雏,提交添加拷况。


2作煌、客戶端列表中,配置管理中赚瘦,都會(huì)出現(xiàn)新添加的客戶端粟誓。


3、單擊配置管理中的客戶端起意,添加配置(每個(gè)客戶端可以添加多個(gè)配置)鹰服。


  • 代理名稱,推薦輸入客戶端要代理出去的端口揽咕,或者是客戶端想要發(fā)布到公網(wǎng)的項(xiàng)目名稱悲酷。
  • 公網(wǎng)端口,填入一個(gè)服務(wù)器空閑端口亲善,用來轉(zhuǎn)發(fā)請(qǐng)求給客戶端设易。
  • 代理IP端口,填入客戶端端口蛹头,公網(wǎng)會(huì)轉(zhuǎn)發(fā)請(qǐng)求給該客戶端端口顿肺。

客戶端配置

1、訪問lanproxy下載地址渣蜗,下載proxy-client-0.1.zip挟冠,解壓到喜歡的目錄。

2袍睡、進(jìn)入proxy-client-0.1/conf目錄知染,修改config.properties為:

#與在proxy-server配置后臺(tái)創(chuàng)建客戶端時(shí)填寫的秘鑰保持一致;沒有服務(wù)器可以登錄 https://lanproxy.org/ 創(chuàng)建客戶端獲取秘鑰
client.key=7533f855416741d88732954991668715
ssl.enable=true
ssl.jksPath=test.jks
ssl.keyStorePassword=123456

#這里填寫實(shí)際的proxy-server地址斑胜;沒有服務(wù)器默認(rèn)即可控淡,自己有服務(wù)器的更換為自己的proxy-server(IP)地址
server.host=local.voidking.com

#proxy-server ssl默認(rèn)端口4993,默認(rèn)普通端口4900
#ssl.enable=true時(shí)這里填寫ssl端口止潘,ssl.enable=false時(shí)這里填寫普通端口
server.port=4993

3掺炭、進(jìn)入proxy-client-0.1/bin目錄,雙擊startup.bat凭戴,即可啟動(dòng)lanproxy客戶端涧狮。

如果啟動(dòng)失敗,一般是因?yàn)閖dk沒有安裝配置成功么夫,參考《IDEA的常用配置》中的安裝jdk者冤,安裝配置jdk后再次啟動(dòng)即可。

4档痪、訪問地址 http://local.voidking.com:50000/ 涉枫,即可看到本地訪問客戶端80端口相同的頁面。


至此腐螟,代理成功愿汰!

進(jìn)階配置

一個(gè)端口一個(gè)項(xiàng)目

假設(shè)困后,我們本地的4000端口開啟了node服務(wù)。那么衬廷,怎么把這個(gè)服務(wù)優(yōu)雅地提供給整個(gè)互聯(lián)網(wǎng)摇予?

1、服務(wù)端添加配置


2吗跋、啟動(dòng)本地node服務(wù)


3侧戴、已經(jīng)啟動(dòng)lanproxy客戶端,訪問 http://local.voidking.com:50001/

此時(shí)小腊,整個(gè)互聯(lián)網(wǎng)都能訪問到這個(gè)node項(xiàng)目,但是久窟,帶著端口號(hào)很不友好秩冈。那么,我們就給這個(gè)項(xiàng)目添加一個(gè)單獨(dú)的域名斥扛。

1入问、添加域名解析node.local到公網(wǎng)ip。

2稀颁、在nginx虛擬主機(jī)配置目錄中芬失,添加node.local.voidking.com.conf,內(nèi)容如下:

server {
    listen 80;
    server_name node.local.voidking.com;
    charset utf-8;
    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;
        client_max_body_size       1024m;
        client_body_buffer_size    128k;
        client_body_temp_path      data/client_body_temp;
        proxy_connect_timeout      90;
        proxy_send_timeout         90;
        proxy_read_timeout         90;
        proxy_buffer_size          4k;
        proxy_buffers              4 32k;
        proxy_busy_buffers_size    64k;
        proxy_temp_file_write_size 64k;
        proxy_temp_path            data/proxy_temp;
        
        proxy_pass http://127.0.0.1:50001;
    }
}

3匾灶、重啟nginx
./nginx -s reload

4棱烂、訪問地址 http://node.local.voidking.com/ ,即可看到本地node服務(wù)阶女。

一個(gè)端口多個(gè)項(xiàng)目

1颊糜、通過我們開放出的80端口,可以訪問web根目錄下的很多項(xiàng)目秃踩,比如在其他文章中提到過的basic項(xiàng)目和vkphp項(xiàng)目衬鱼,下文以vkphp項(xiàng)目為例。

2憔杨、當(dāng)前鸟赫,vkphp項(xiàng)目首頁是簡(jiǎn)單的文字顯示。


3消别、通過外網(wǎng)訪問的地址為 http://local.voidking.com:50000/vkphp

此時(shí)抛蚤,整個(gè)互聯(lián)網(wǎng)都能訪問到這個(gè)vkphp項(xiàng)目,但是寻狂,帶著端口號(hào)和項(xiàng)目名霉颠,感覺像是個(gè)欺詐網(wǎng)站。那么荆虱,我們能否給這個(gè)項(xiàng)目添加一個(gè)單獨(dú)的域名呢蒿偎?當(dāng)然也是可以的朽们。

1、添加域名解析vkphp.local到公網(wǎng)ip诉位。

2骑脱、在nginx虛擬主機(jī)配置目錄中,添加vkphp.local.voidking.com.conf苍糠,內(nèi)容如下:

server {
    listen 80;
    server_name vkphp.local.voidking.com;
    charset utf-8;
    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;
        client_max_body_size       1024m;
        client_body_buffer_size    128k;
        client_body_temp_path      data/client_body_temp;
        proxy_connect_timeout      90;
        proxy_send_timeout         90;
        proxy_read_timeout         90;
        proxy_buffer_size          4k;
        proxy_buffers              4 32k;
        proxy_busy_buffers_size    64k;
        proxy_temp_file_write_size 64k;
        proxy_temp_path            data/proxy_temp;
        
        proxy_pass http://127.0.0.1:50000;
    }
}

3叁丧、重啟nginx
./nginx -s reload

4、打開本地apache的http-vhosts.conf岳瞭,添加配置:

<VirtualHost *:80> #laragon magic!
    DocumentRoot "C:/laragon/www/vkphp/"
    ServerName vkphp.local.voidking.com
    ServerAlias vkphp.local.voidking.com
</VirtualHost>

5拥娄、重啟本地apache

6、訪問地址 http://vkphp.local.voidking.com/ 瞳筏,即可看到本地vkphp項(xiàng)目稚瘾。

有趣的是,訪問時(shí)該地址會(huì)自動(dòng)在后面加上vkphp姚炕,成為 http://vkphp.local.voidking.com/vkphp/

結(jié)語

由上配置我們發(fā)現(xiàn)摊欠,nginx的反向代理非常好用。稍微調(diào)整柱宦,便可以適應(yīng)大多數(shù)項(xiàng)目些椒,實(shí)在是美化url的神器,哇咔咔掸刊。

書簽

lanproxy源碼地址

業(yè)余草推薦一款局域網(wǎng)(內(nèi)網(wǎng))穿透工具lanproxy

frp源碼地址

frp中文文檔

使用frp實(shí)現(xiàn)內(nèi)網(wǎng)穿透

n2n源碼地址

n2n內(nèi)網(wǎng)穿透神器(一條命令實(shí)現(xiàn)穿透)

n2n內(nèi)網(wǎng)穿透神器

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末免糕,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子忧侧,更是在濱河造成了極大的恐慌说墨,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件苍柏,死亡現(xiàn)場(chǎng)離奇詭異尼斧,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)试吁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門棺棵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人熄捍,你說我怎么就攤上這事烛恤。” “怎么了余耽?”我有些...
    開封第一講書人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵缚柏,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我碟贾,道長(zhǎng)币喧,這世上最難降的妖魔是什么轨域? 我笑而不...
    開封第一講書人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮杀餐,結(jié)果婚禮上干发,老公的妹妹穿的比我還像新娘。我一直安慰自己史翘,他們只是感情好枉长,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著琼讽,像睡著了一般必峰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上钻蹬,一...
    開封第一講書人閱讀 49,784評(píng)論 1 290
  • 那天吼蚁,我揣著相機(jī)與錄音,去河邊找鬼脉让。 笑死桂敛,一個(gè)胖子當(dāng)著我的面吹牛功炮,可吹牛的內(nèi)容都是我干的溅潜。 我是一名探鬼主播,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼薪伏,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼滚澜!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起嫁怀,我...
    開封第一講書人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤设捐,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后塘淑,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體萝招,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年存捺,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了槐沼。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡捌治,死狀恐怖岗钩,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情肖油,我是刑警寧澤兼吓,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站森枪,受9級(jí)特大地震影響视搏,放射性物質(zhì)發(fā)生泄漏审孽。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一凶朗、第九天 我趴在偏房一處隱蔽的房頂上張望瓷胧。 院中可真熱鬧,春花似錦棚愤、人聲如沸搓萧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽瘸洛。三九已至,卻和暖如春次和,著一層夾襖步出監(jiān)牢的瞬間反肋,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來泰國(guó)打工踏施, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留石蔗,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓畅形,卻偏偏與公主長(zhǎng)得像养距,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子日熬,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理棍厌,服務(wù)發(fā)現(xiàn),斷路器竖席,智...
    卡卡羅2017閱讀 134,629評(píng)論 18 139
  • 第一章 Nginx簡(jiǎn)介 Nginx是什么 沒有聽過Nginx耘纱?那么一定聽過它的“同行”Apache吧!Ngi...
    JokerW閱讀 32,649評(píng)論 24 1,002
  • Page 1:nginx 服務(wù)器安裝及配置文件詳解 CentOS 6.2 x86_64 安裝 nginx 1.1 ...
    xiaojianxu閱讀 8,529評(píng)論 1 41
  • 嚴(yán)肅是一件好事情毕荐,它可以讓人更好的完成工作束析,但是嚴(yán)肅的場(chǎng)合不對(duì),就會(huì)造成很多的尷尬憎亚。 相信很多人在和朋友聚會(huì)喝酒的...
    瞎驢閱讀 421評(píng)論 0 0
  • Version: V20170922 變更記錄 Redis結(jié)構(gòu) 系統(tǒng)配置值說明 接口 利潤(rùn)計(jì)算
    9995857閱讀 266評(píng)論 0 1