搭建內網穿透服務
1.什么是內網穿透
內網穿透,即NAT穿透,網絡連接時術語,計算機是局域網內時,外網與內網的計算機節點需要連接通信,有時就會出現不支持內網穿透。
2.什么是lanproxy
lanproxy 是一個將局域網個人電腦、服務器代理到公網的內網穿透工具,目前僅支持 tcp 流量轉發,可支持任何 tcp 上層協議(訪問內網網站、本地支付接口調試、ssh 訪問、遠程桌面…)。目前市面上提供類似服務的有花生殼、TeamView、GoToMyCloud 等等
要搭建內網穿透,我們得完成兩個任務
- 在客戶端和服務端都需要安裝JDK
- 在公網能訪問的服務器上運行我們的內網穿透服務;
- 在本地電腦上面運行內網穿透客戶端。
3.下載安裝包
下載地址: https://seafile.cdjxt.net/d/2e81550ebdbd416c933f/
proxy-server-0.1.zip 服務端
proxy-java-client-0.1.zip 客戶端
源碼地址 https://github.com/ffay/lanproxy
4.server端安裝
server的配置文件放置在conf目錄中,配置 config.properties
server.bind=0.0.0.0
#與代理客戶端通信端口
server.port=4900
#ssl相關配置
server.ssl.enable=true
server.ssl.bind=0.0.0.0
server.ssl.port=4993
server.ssl.jksPath=test.jks
server.ssl.keyStorePassword=123456
server.ssl.keyManagerPassword=123456
#這個配置可以忽略
server.ssl.needsClientAuth=false
#WEB在線配置管理相關信息
config.server.bind=0.0.0.0
config.server.port=8090
config.admin.username=admin
config.admin.password=admin
進入bin目錄啟動
代理配置,打開地址 http://ip:8090 ,使用上面配置中配置的用戶名密碼登錄
5.client端安裝
Java 客戶端配置
Java client的配置文件放置在conf目錄中,配置 config.properties
#與在proxy-server配置后台創建客戶端時填寫的秘鑰保持一致;
client.key=
ssl.enable=true
ssl.jksPath=test.jks
ssl.keyStorePassword=123456
#這里填寫實際的proxy-server地址;沒有服務器默認即可,自己有服務器的更換為自己的proxy-server(IP)地址
server.host=lp.thingsglobal.org
#proxy-server ssl默認端口4993,默認普通端口4900
#ssl.enable=true時這里填寫ssl端口,ssl.enable=false時這里填寫普通端口
server.port=4900
啟動服務
本地服務能啟動
公網IP訪問
6.可用nginx反向代理
示例代碼如下
server {
listen 80;
server_name dev.qdyc.com;
location / {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:800; # 服務器端地址端口
}
}