lanproxy搭建內網穿透

《微信本地調試》一文中,小編提到了使用ngrok、natapp和花生殼進行內網穿透。可是,想要使用自定義域名,都是要收費的。java

本文中,咱們要搭建一個免費的內網穿透服務器。內網穿透服務器,可選的軟件有lanproxy、frp、n2n等等,今天咱們選擇的是lanproxy。node

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

準備

一、一臺公網服務器(阿里雲)(運行proxy-server)。
二、一臺內網pc或服務器(用來被穿透的本地電腦)(運行proxy-client)。git

服務端(阿里雲)配置

安裝java

一、刪除自帶jdkgithub

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

二、查看yum庫中有哪些jdk版本。
yum search java | grep jdkweb

三、選擇java-1.8.0-openjdk-devel.x86_64 : OpenJDK Development Environment版本進行安裝。vim

yum install java-1.8.0-openjdk-devel.x86_64segmentfault

默認安裝目錄爲/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.141-1.b16.el7_3.x86_64安全

四、配置環境變量
vim /etc/profileruby

在最後添加:

#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

五、讓修改當即生效
source /etc/profile

六、查看安裝結果
javajavacjava -version

安裝lanproxy

一、訪問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

二、解壓安裝
unzip proxy-server-0.1.zip

mv proxy-server-0.1 /usr/local/

三、修改配置文件
vim /usr/local/proxy-server-0.1/conf/config.properties

修改管理員的用戶名和密碼(不修改直接使用默認)。

四、啓動服務
cd /usr/local/proxy-server-0.1/bin
chmod +x startup.sh
./startup.sh

五、訪問 http://host_ip:8090 ,便可看到登陸界面(lanproxy後臺)。(host_ip爲阿里雲公網ip 或者 也可使用域名訪問)

(若是你改端口了,就用自定義的端口)訪問lanproxy後臺,而後按照以下圖示操做。

image.png
image.png
image.png
image.png

到此爲止,咱們在lanproxy後臺配置好了lanproxy客戶端(被穿透的本地電腦),而且配置了一臺客戶端的密鑰和穿透端口。須要注意的是,以上用到的端口都須要在防火牆中對外開放(我用的阿里雲,須要在阿里雲後臺配置安全組策略)。

在阿里雲配置nginx反向代理

一、添加域名解析local到公網ip。

二、在nginx虛擬主機配置目錄中,添加 web.xingfeng.cool,內容以下:

{
    server {
        listen 80;
        server_name web.xingfeng.cool;
        location / {
                proxy_pass  http://127.0.0.1:8090;
        }
    }
}

三、測試nginx
./nginx -t,也許會提示缺乏目錄,那麼新建目錄。
mkdir -p /usr/local/nginx/data/client_body_temp

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

四、重啓nginx

配置完成後重啓 nginx -s reload ,你就能夠可使用你配置代理域名服務訪問你阿里雲的本地的服務了

之後若是再有本地的服務須要穿透出去的,能夠按照相同的方法進行配置

五、訪問 web.xingfeng.cool ,便可看到lanproxy後臺登陸界面。

使用

服務端配置(阿里雲本地開發好的proxy-server-0.1 lanproxy後臺 配置)

一、登陸lanproxy,添加客戶端,輸入客戶端備註名稱,生成隨機密鑰,提交添加。

image.png

二、客戶端列表中,配置管理中,都會出現新添加的客戶端。

image.png

三、單擊配置管理中的客戶端,添加配置(每一個客戶端能夠添加多個配置)。

image.png

  • 代理名稱,推薦輸入客戶端要代理出去的端口,或者是客戶端想要發佈到公網的項目名稱。
  • 公網端口,填入一個服務器空閒端口,用來轉發請求給客戶端。
  • 代理IP端口,填入客戶端端口,公網會轉發請求給該客戶端端口。

接下來咱們須要配置客戶端(被穿透的本地電腦)。

客戶端配置(用來被穿透的本地電腦的配置)

一、訪問lanproxy下載地址,下載proxy-java-client-0.1,解壓到喜歡的目錄。

二、進入proxy-java-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

三、進入proxy-java-client-0.1/bin目錄,執行 ./startup.sh,便可啓動lanproxy客戶端。

四、訪問地址 http://web.xingfeng.cool:50000 ,便可看到本地(用來被穿透的本地電腦)訪問客戶端80端口相同的頁面。

至此,代理成功!

使用lanproxy搭建屬於本身的內網穿透平臺

相關文章
相關標籤/搜索