91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

基于Docker如何搭建內網穿透服務

發布時間:2022-05-20 15:29:39 來源:億速云 閱讀:1432 作者:iii 欄目:大數據

這篇文章主要介紹“基于Docker如何搭建內網穿透服務 ”,在日常操作中,相信很多人在基于Docker如何搭建內網穿透服務 問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”基于Docker如何搭建內網穿透服務 ”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

1、概述

內網穿透其實就是用服務器做一個中轉,將請求轉發。

1.1、原理

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

  1. 用戶訪問我們的服務器,這個服務器是有公網ip的,所以用戶可以無壓力訪問

  2. 服務器與本地電腦保持長鏈接,當有請求的時候,服務器將請求轉發到我們的本地電腦

  3. 本地電腦將響應回復給服務器

  4. 服務器將響應回復給用戶

基于Docker如何搭建內網穿透服務

1.2、實現

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

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

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

2、實現步驟

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

2.1、服務端流程:

  1.  在服務器上安裝 docker 和 nginx

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

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

  4. 配置 nginx 反向代理

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

2.2、本地電腦流程:

  1. 運行要被映射的服務

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

下面開始服務端的配置:

2.1.1、在服務器上安裝 docker 和 nginx

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如何搭建內網穿透服務

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

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 、 conf 、 lib 和 log ,配置信息在 conf/config.properties 文件內,根據前面服務端的配置信息修改一下。

# 這里是在lanproxy后臺配置的密鑰
client.key=key

# 配置ssl信息,根據服務端的配置填寫
ssl.enable=true
ssl.jkspath=test.jks
ssl.keystorepassword=123456

# 服務器的ip
server.host=163.162.161.160

#根據服務端配置,開啟ssl的話填寫ssl的端口,否則填寫普通端口
server.port=4993

啟動客戶端

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

# mac/linux使用這個
$ bash bin/startup.sh

# windows 直接運行 bin/startup.bat

訪問測試

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

基于Docker如何搭建內網穿透服務

到此,關于“基于Docker如何搭建內網穿透服務 ”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

贵定县| 睢宁县| 宜都市| 灌阳县| 集安市| 宁阳县| 元谋县| 鄂托克旗| 雅江县| 平顺县| 吉安市| 泸定县| 武川县| 绩溪县| 商水县| 武平县| 杭州市| 葫芦岛市| 沭阳县| 牡丹江市| 丰镇市| 马边| 嘉黎县| 武陟县| 夏邑县| 东丰县| 南开区| 扶绥县| 砀山县| 迁西县| 惠来县| 博客| 民权县| 湟中县| 福安市| 重庆市| 神木县| 吴桥县| 夏邑县| 贵港市| 呈贡县|