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