摘要:內(nèi)網(wǎng)穿透微信本地調(diào)試一文中,小編提到了使用和花生殼進(jìn)行內(nèi)網(wǎng)穿透。本文中,我們要搭建一個免費的內(nèi)網(wǎng)穿透服務(wù)器。內(nèi)網(wǎng)穿透服務(wù)器,可選的軟件有等等,今天我們選擇的是。
內(nèi)網(wǎng)穿透
《微信本地調(diào)試》一文中,小編提到了使用ngrok、natapp和花生殼進(jìn)行內(nèi)網(wǎng)穿透。但是,想要使用自定義域名,都是要收費的。
本文中,我們要搭建一個免費的內(nèi)網(wǎng)穿透服務(wù)器。內(nèi)網(wǎng)穿透服務(wù)器,可選的軟件有l(wèi)anproxy、frp、n2n等等,今天我們選擇的是lanproxy。
原文地址:http://www.voidking.com/2017/...
準(zhǔn)備1、一臺公網(wǎng)服務(wù)器(運行proxy-server)。
2、一臺內(nèi)網(wǎng)pc或服務(wù)器(運行proxy-client)。
1、刪除自帶jdk
rpm -e --nodeps `rpm -qa | grep java`
2、查看yum庫中有哪些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é)果
java,javac,java -version
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、啟動服務(wù)
cd /usr/local/proxy-server-0.1/bin
chmod +x startup.sh
./startup.sh
5、訪問 http://host_ip:8090 ,即可看到登錄界面。
1、添加域名解析local到公網(wǎng)ip。
2、在nginx虛擬主機配置目錄中,添加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、測試nginx
./nginx -t,也許會提示缺少目錄,那么新建目錄。
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,添加客戶端,輸入客戶端備注名稱,生成隨機密鑰,提交添加。
2、客戶端列表中,配置管理中,都會出現(xiàn)新添加的客戶端。
3、單擊配置管理中的客戶端,添加配置(每個客戶端可以添加多個配置)。
代理名稱,推薦輸入客戶端要代理出去的端口,或者是客戶端想要發(fā)布到公網(wǎng)的項目名稱。
公網(wǎng)端口,填入一個服務(wù)器空閑端口,用來轉(zhuǎn)發(fā)請求給客戶端。
代理IP端口,填入客戶端端口,公網(wǎng)會轉(zhuǎn)發(fā)請求給該客戶端端口。
客戶端配置1、訪問lanproxy下載地址,下載proxy-client-0.1.zip,解壓到喜歡的目錄。
2、進(jìn)入proxy-client-0.1/conf目錄,修改config.properties為:
#與在proxy-server配置后臺創(chuàng)建客戶端時填寫的秘鑰保持一致;沒有服務(wù)器可以登錄 https://lanproxy.org/ 創(chuàng)建客戶端獲取秘鑰 client.key=7533f855416741d88732954991668715 ssl.enable=true ssl.jksPath=test.jks ssl.keyStorePassword=123456 #這里填寫實際的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時這里填寫ssl端口,ssl.enable=false時這里填寫普通端口 server.port=4993
3、進(jìn)入proxy-client-0.1/bin目錄,雙擊startup.bat,即可啟動lanproxy客戶端。
如果啟動失敗,一般是因為jdk沒有安裝配置成功,參考《IDEA的常用配置》中的安裝jdk,安裝配置jdk后再次啟動即可。
4、訪問地址 http://local.voidking.com:50000/ ,即可看到本地訪問客戶端80端口相同的頁面。
至此,代理成功!
進(jìn)階配置 一個端口一個項目假設(shè),我們本地的4000端口開啟了node服務(wù)。那么,怎么把這個服務(wù)優(yōu)雅地提供給整個互聯(lián)網(wǎng)?
1、服務(wù)端添加配置
2、啟動本地node服務(wù)
3、已經(jīng)啟動lanproxy客戶端,訪問 http://local.voidking.com:50001/
此時,整個互聯(lián)網(wǎng)都能訪問到這個node項目,但是,帶著端口號很不友好。那么,我們就給這個項目添加一個多帶帶的域名。
1、添加域名解析node.local到公網(wǎng)ip。
2、在nginx虛擬主機配置目錄中,添加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ù)。
1、通過我們開放出的80端口,可以訪問web根目錄下的很多項目,比如在其他文章中提到過的basic項目和vkphp項目,下文以vkphp項目為例。
2、當(dāng)前,vkphp項目首頁是簡單的文字顯示。
3、通過外網(wǎng)訪問的地址為 http://local.voidking.com:500...
此時,整個互聯(lián)網(wǎng)都能訪問到這個vkphp項目,但是,帶著端口號和項目名,感覺像是個欺詐網(wǎng)站。那么,我們能否給這個項目添加一個多帶帶的域名呢?當(dāng)然也是可以的。
1、添加域名解析vkphp.local到公網(wǎng)ip。
2、在nginx虛擬主機配置目錄中,添加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,添加配置:
#laragon magic! DocumentRoot "C:/laragon/www/vkphp/" ServerName vkphp.local.voidking.com ServerAlias vkphp.local.voidking.com
5、重啟本地apache
6、訪問地址 http://vkphp.local.voidking.com/ ,即可看到本地vkphp項目。
有趣的是,訪問時該地址會自動在后面加上vkphp,成為 http://vkphp.local.voidking.c...
結(jié)語由上配置我們發(fā)現(xiàn),nginx的反向代理非常好用。稍微調(diào)整,便可以適應(yīng)大多數(shù)項目,實在是美化url的神器,哇咔咔。
書簽lanproxy源碼地址
業(yè)余草推薦一款局域網(wǎng)(內(nèi)網(wǎng))穿透工具lanproxy
frp源碼地址
frp中文文檔
使用frp實現(xiàn)內(nèi)網(wǎng)穿透
n2n源碼地址
n2n內(nèi)網(wǎng)穿透神器(一條命令實現(xiàn)穿透)
n2n內(nèi)網(wǎng)穿透神器
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/35872.html
這里列舉了一些比較好用的開源的內(nèi)網(wǎng)映射工具,詳細(xì)介紹一下各個軟件工具的特點: 1. holer 輕量級的內(nèi)網(wǎng)映射工具,holer服務(wù)端采用Java語言實現(xiàn),服務(wù)端界面漂亮簡潔。Holer客戶端采用了Java語言和GO語言實現(xiàn)了兩種版本,支持幾乎所有的OS平臺。用到流行的微服務(wù)框架springboot和Java網(wǎng)絡(luò)框架netty。配置很簡單,針對所有TCP協(xié)議只需在客戶端設(shè)置一個holer acce...
閱讀 1023·2021-11-25 09:43
閱讀 1682·2019-08-30 13:59
閱讀 1620·2019-08-30 11:22
閱讀 2141·2019-08-30 11:06
閱讀 1311·2019-08-28 17:51
閱讀 3746·2019-08-26 12:12
閱讀 792·2019-08-26 12:11
閱讀 459·2019-08-26 12:10