亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Web服務器 > 正文

詳解基于docker搭建lanproxy內網穿透服務

2024-09-01 13:54:29
字體:
來源:轉載
供稿:網友

文檔更新說明

2018年04月06日 v1.0

內網穿透相信是后端開發者經常遇到的需求,可是怎么實現呢?其實有現成的服務:花生殼、ngrok等,但是,最近花生殼宣布,免費版的內網穿透將不支持80端口映射了,而免費版的ngrok也不夠穩定,于是乎,我就開始需找新的解決方案了

本文使用了docker、nginx,要全部搞懂的話需要一定的后端基礎(當然,基本上入個門就可以了),個人認為還是有一定閱讀門檻的,但是你如果只是想把服務搭建起來,按照步驟來做是不難的

1、概述

內網穿透其實就是用服務器做一個中轉,將請求轉發,本文記錄了在 ubuntu 16.04 上,基于 docker 搭建的內網穿透服務

1.1、原理

內網穿透的原理如下圖所示:

  1. 用戶訪問我們的服務器,這個服務器是有公網IP的,所以用戶可以無壓力訪問
  2. 服務器與本地電腦保持長鏈接,當有請求的時候,服務器將請求轉發到我們的本地電腦
  3. 本地電腦將響應回復給服務器
  4. 服務器將響應回復給用戶

docker,lanproxy,內網穿透服務

1.2、實現

要搭建內網穿透,我們得完成兩個任務

在公網能訪問的服務器上運行我們的內網穿透服務; 在本地電腦上面運行內網穿透客戶端。

當然,你可以自己根據原理實現一套,不過我們有現成的三方開源工具,可以幫我們實現這一套功能。這個就是我們今天的主角 lanproxy 。

2、實現步驟

現成的工具已經找到,接下來就是簡單的搭建一下了,搭建過程分為服務端和本地電腦端

2.1、服務端流程:

  1.  在服務器上安裝 dockernginx
  2. 在服務器上通過 docker 運行 lanproxy server
  3. 將域名解析到我們的服務器
  4. 配置 nginx 反向代理
  5. 打開 lanproxy 后臺頁面,添加客戶端和映射信息

2.2、本地電腦流程:

  1. 運行要被映射的服務
  2. 運行本地電腦映射客戶端程序( lanproxy client )

下面開始服務端的配置:

2.1.1、在服務器上安裝 dockernginx

nginx 的安裝是很簡單的,一個命令就搞定

docker 也可以使用腳本安裝,也是一句命令的事

# 1、安裝nginx$ sudo apt-get install nginx# 2、安裝docker$ curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun# 可選步驟,建docker源修改為阿里云$ sudo mkdir -p /etc/docker$ sudo tee /etc/docker/daemon.json <<-'EOF'{ # 下面的鏈接需要到阿里云后臺查看,每個人的加速地址是不一樣的 "registry-mirrors": ["https://abcdefg.mirror.aliyuncs.com"]}EOF$ sudo systemctl daemon-reload$ sudo systemctl restart docker

2.1.2 在服務器上通過 docker 運行 lanproxy server

服務安裝完畢之后,就可以用docker跑服務了,可以自己寫一個 Dockerfile ,這里,我就把自己寫的放出來吧,大家可以拿去用著,gayhub 傳送門

這里我修改了 proxy-server-0.1 的部分文件,因為在 docker 中,需要保存服務前臺運行,否則容器會被 kill 掉,而官網默認的啟動腳本是后臺啟動的,把 bin/startup.sh 里面的啟動命令修改成前臺啟動即可(去掉nohub和后面的1&2 &)

# 1、克隆docker配置,如果要修改配置可以編輯 conf/config.properties 文件,配置方法見lanproxy官網$ git clone https://github.com/fengqiangboy/lanproxy-docker.git lanproxy-docker# 2、build docker鏡像$ cd lanproxy-docker$ sudo bash build_container.sh# 3、運行docker容器$ bash run_container.sh

2.1.3 將域名解析到我們的服務器

需要兩個域名,一個用來訪問我們的 lanproxy 后臺,一個用來訪問我們需要內網穿透的服務

例如:

lanproxy.fengqiangboy.com -> 用來訪問lanproxy后端test.fengqiangboy.com -> 用來訪問內網穿透服務

2.1.4配置 nginx 反向代理

將兩個域名解析到我們的服務器之后,再通過反向代理,將其反代到我們的lanproxy端口

下面配置的最終效果就是:

  1. 我們可以通過 lanproxy.fengqiangboy.com 訪問 lanproxy
  2. 我們可以通過 test.fengqiangboy.com 訪問本地電腦映射的服務

lanproxy.fengqiangboy.com.conf:

server {  listen 80;  # 這里使用自己的域名  server_name lanproxy.fengqiangboy.com;  charset utf-8;  location / {    proxy_set_header  X-Real-IP $remote_addr;    proxy_set_header  Host   $http_host;    # 這里根據你的lanproxy配置,改成 config.server.port的值    proxy_pass    http://127.0.0.1:8090;    client_max_body_size 35m;    proxy_http_version 1.1;    proxy_set_header Upgrade $http_upgrade;    proxy_set_header Connection "upgrade";  }}

test.fengqiangboy.com.conf:

server {  listen 80;  # 這里使用自己的域名  server_name test.fengqiangboy.com;  charset utf-8;  location / {    proxy_set_header  X-Real-IP $remote_addr;    proxy_set_header  Host   $http_host;    # 這里根據你的lanproxy配置,改成 外網接口 的值,在lanproxy后臺網頁上配置,后面配置    proxy_pass    http://127.0.0.1:50000;    client_max_body_size 35m;    proxy_http_version 1.1;    proxy_set_header Upgrade $http_upgrade;    proxy_set_header Connection "upgrade";  }}

2.1.5 打開 lanproxy 后臺頁面,添加客戶端和映射信息

  1. 打開 http://lanproxy.fengqiangboy.com
  2. 用前面 conf/config.properties 文件中配置的賬號和密碼登錄后臺
  3. 添加一個客戶端,記住客戶端密鑰
  4. 添加完客戶端之后添加一個配置,配置如下圖

docker,lanproxy,內網穿透服務

到此,服務端的配置就完成了。下面開始本地電腦的配置。

2.2.1 運行要被映射的服務

既然要把內網的服務映射出去,那首先就要把本地電腦的服務跑起來吧,不然拿什么來映射?這里就很多操作方法了,各個語言都不一樣,把自己的服務跑起來就行

2.2.2 運行本地電腦映射客戶端程序( lanproxy client )

這里有兩個方法,一個方法是使用官網提供的 go 版本,不需要安裝 java 環境在本地電腦上,另外一種是使用官網提供的 java 版本,這里我使用 java 版本的。

克隆 lanproxy 代碼到本地電腦

$ git clone https://github.com/ffay/lanproxy.git lanproxy

打包 lanproxy

打包之前需要確保你安裝了 maven

$ cd lanproxy$ mvn package

修改配置文件信息

打包完成之后,客戶端文件會出現在 distribution/proxy-client-0.1 目錄下,打開之后有是個文件夾: bin 、 confliblog ,配置信息在 conf/config.properties 文件內,根據前面服務端的配置信息修改一下。

# 這里是在lanproxy后臺配置的密鑰client.key=key# 配置ssl信息,根據服務端的配置填寫ssl.enable=truessl.jksPath=test.jksssl.keyStorePassword=123456# 服務器的ipserver.host=163.162.161.160#根據服務端配置,開啟ssl的話填寫ssl的端口,否則填寫普通端口server.port=4993

啟動客戶端

客戶端信息配置完成之后就可以啟動客戶端了

# mac/linux使用這個$ bash bin/startup.sh# Windows 直接運行 bin/startup.bat

訪問測試

按照前面的配置,這時候我們應該是可以通過 test.fengqiangboy.com 來訪問我們的內網服務了的,用瀏覽器打開看看

docker,lanproxy,內網穿透服務

3、一點補充

為什么要使用docker?

使用docker主要是為了不破壞服務端環境,只是給 lanproxy 安裝了一個 jdk8 的環境,不影響其他服務繼續運行;而且使用 docker 還可以很方便的轉移到其它機器上面部署,只要把 Dockerfile 拷貝過去就可以了。

這樣搭建,服務器重啟的話需要手動重啟 lanproxy 嗎?

不需要,在服務端啟動 docker 容器的腳本下,我添加了 --restart unless-stopped 參數,只要 docker 服務啟動了,容器就會跟著啟動,如果你不需要這個需求,可以去掉這個參數

為什么不用花生殼?

前不久看到花生殼的公告,說從4月1日開始,免費版將不提供80端口映射,實際上我用這個映射最大的需求就是做微信調試,去掉80端口就不能做微信調試了,不滿足我的需求了,當然,花生殼還是不錯的,如果能滿足你的需求,還是可以省時省力完成內網穿透的

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到服務器教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中文字幕日韩在线视频| 亚洲国产精品久久久久秋霞不卡| 亚洲区免费影片| 欧美一区二区大胆人体摄影专业网站| 精品国产一区二区三区久久久狼| 亚洲欧美在线免费观看| 亚洲人成网站777色婷婷| 精品国产鲁一鲁一区二区张丽| 久久成人精品视频| 91久久精品国产91性色| 久久露脸国产精品| 亚洲日韩欧美视频一区| 亚洲一区亚洲二区| 91中文在线视频| 欧美精品福利视频| 欧美在线视频免费播放| 午夜精品久久17c| 国产ts一区二区| 亚洲欧美国产一区二区三区| 国产欧美日韩亚洲精品| 色视频www在线播放国产成人| 欧美性xxxxx极品娇小| 亚洲欧美日韩精品| 91精品国产91久久久久久吃药| 亚洲欧美另类自拍| 国产一区二区久久精品| 亚洲理论在线a中文字幕| 国产欧美在线播放| 久久久久久久一区二区三区| 伊人久久精品视频| 国产成人激情视频| 久久久av电影| 国产精品免费视频久久久| 国产精品美女www爽爽爽视频| 热99久久精品| 日韩精品福利网站| 欧美日韩国产专区| 91精品免费看| 欧美亚洲成人精品| 亚洲福利视频专区| 尤物九九久久国产精品的分类| 亚洲综合国产精品| 国产精品久久久久久久久久小说| 38少妇精品导航| 国产精品黄页免费高清在线观看| 亚洲成成品网站| 92国产精品视频| 97视频在线观看免费高清完整版在线观看| 26uuu另类亚洲欧美日本一| 久久综合电影一区| www.欧美三级电影.com| 九九热最新视频//这里只有精品| 国模吧一区二区| 久久久久久久999| 精品一区二区三区四区在线| 成人性生交大片免费看小说| 日韩高清电影免费观看完整版| 国产成人精品在线视频| 日韩电影在线观看中文字幕| xvideos成人免费中文版| 久久精品国产69国产精品亚洲| 亚洲精品天天看| 亚洲天堂男人天堂女人天堂| 日韩福利在线播放| 亚洲人成电影网站色| 欧洲s码亚洲m码精品一区| 国产视频在线观看一区二区| 久久在线观看视频| 色www亚洲国产张柏芝| 亚洲精品国产精品乱码不99按摩| 97国产真实伦对白精彩视频8| 久久综合伊人77777尤物| 91久热免费在线视频| 国产裸体写真av一区二区| 一本一本久久a久久精品牛牛影视| 日韩一级裸体免费视频| 日本国产高清不卡| 国产精品电影一区| 欧美性猛交xxxx黑人| 午夜精品99久久免费| 亚洲成人三级在线| 欧美日韩国产精品一区二区不卡中文| 欧美激情一二三| 成人欧美在线视频| 亚洲性线免费观看视频成熟| 亚洲女人被黑人巨大进入| 成人免费网站在线看| 国产精品久久9| 国产成人精彩在线视频九色| 国产精品99久久久久久人| 中文字幕亚洲一区二区三区五十路| 精品一区二区三区电影| 中文字幕日本精品| 国产精品老女人视频| 国产精品色婷婷视频| 国产午夜精品理论片a级探花| 欧美三级欧美成人高清www| 日韩欧美精品免费在线| 91亚洲国产精品| 久久影视电视剧免费网站| www.美女亚洲精品| 亚洲美女精品成人在线视频| 亚洲久久久久久久久久| 欧美精品一区在线播放| 伊人久久大香线蕉av一区二区| 日韩美女视频免费在线观看| 国产精品欧美激情在线播放| 日韩国产精品视频| 精品一区电影国产| 亚洲日本中文字幕免费在线不卡| 欧美日韩激情美女| 亚洲国产精品va| 韩剧1988在线观看免费完整版| 国产精品av免费在线观看| 欧美在线观看网址综合| 久久精品电影一区二区| 成人福利网站在线观看| 一级做a爰片久久毛片美女图片| 欧美日韩国产综合新一区| 久久久亚洲国产天美传媒修理工| 日韩av观看网址| 国产精品久久久久久久久久ktv| 久久久久中文字幕2018| 亚洲成人激情在线观看| 精品国产一区二区三区久久久| 精品视频久久久| 国内精品久久久久影院优| 伊人久久大香线蕉av一区二区| 精品性高朝久久久久久久| 日韩的一区二区| 亚洲天堂网在线观看| 国产成人免费91av在线| 亚洲国产精品网站| 91精品国产高清久久久久久91| 欧美精品一二区| 国产精品99免视看9| 国产伊人精品在线| 欧美成aaa人片在线观看蜜臀| 国产欧美日韩免费看aⅴ视频| 欧美与欧洲交xxxx免费观看| 中文字幕久久亚洲| 国产97在线|日韩| 欧美疯狂性受xxxxx另类| 亚洲精品美女在线| 亚洲一区中文字幕| 伊人伊成久久人综合网小说| 美日韩丰满少妇在线观看| 日韩欧美中文字幕在线播放| 亚洲一区免费网站| 不卡在线观看电视剧完整版| 午夜精品一区二区三区视频免费看| 亚洲激情在线观看视频免费| 日本一区二区三区在线播放| 2025国产精品视频| 欧美激情一区二区久久久| 91精品视频免费观看| 亚洲肉体裸体xxxx137| 日韩精品久久久久| 亚洲免费成人av电影| 国产视频久久网| 国产日韩欧美一二三区| 亚洲国产精品99久久| 日韩在线观看你懂的| 成人午夜高潮视频|