博客 / 詳情

返回

docker雲部署frp實現內網穿透,訪問內網主機

1、前言

1.1、配置

1、2h2g2M華為雲ubunto鏡像國內服務器(必須準備一個有公網ip的服務器)
image.png

2、配置docker並啓動

2.1、安裝docker和docker-compose

此過程前兩篇文章有詳細的,這裏不贅述

docker -v
docker-compose -v
# 出現版本信息即安裝成功
2.2、創建配置文件並修改
vim docke-compose.yml
# 將下面內容粘進去
version: '3'
services:
  frps:
    image: docker.1panel.live/snowdreamtech/frps:0.60
    container_name: frps
    restart: always
    network_mode: host
    volumes:
      - ./frps.toml:/etc/frp/frps.toml
# 完成後鍵入ESC,輸入英文的":"+wq+Enter,保存並退出 
# 需要在docker-compose.yml同級目錄創建編輯frps.toml
vim frps.toml
# 將下面內容粘貼進去
# 客户端與服務連接端口
bindPort = 7000
# 客户端連接服務端時認證的密碼
auth.token = "admin123"
# http協議監聽端口
vhostHTTPPort = 28080
# web界面配置
webServer.addr = "0.0.0.0"
webServer.port = 7500
webServer.user = "admin"
webServer.password = "admin"

完成後鍵入ESC,輸入英文的":"+wq+Enter,保存並退出

# 執行
docker-compose up -d
# 放通服務器的7500端口,通過http://<公網ip>:7500訪問後台,賬號密碼是上面設置的admin/admin

3、客户端配置與啓動

3.1、客户端配置

這裏的客户端是我的windows主機
在下面下載相應版本並解壓,我這裏是windows-amd64
https://github.com/fatedier/frp/releases
image.png
解壓好後用編輯工具編輯frpc.toml

serverAddr = "服務器公網ip"
serverPort = 7000
auth.token = "admin123"

# 國內服務器沒有ICP備案用不了域名解析的,但是可以把customDomains值換成公網ip
# 但是這樣跟tcp沒有區別了不如直接tcp
# 所以這一塊可以把customDomains值換成公網ip即可,我這裏客户端主機在127.0.0.1:9000有運行,根據你自己實際情況修改值
# 這一塊的用http://<公網ip>:28080端口訪問
[[proxies]]
name = "nwct"
type = "http"
localIP = "127.0.0.1"
localPort = 9000
customDomains = ["域名"]
# 如果要用域名訪問,首先需要域名解析這個公網ip,其次需要通過域名:28080訪問,如果要直接通過域名訪問不加端口,需要添加反代,上篇文章有,這裏不作為重點

# 這裏我127.0.0.1:3000運行着fastgpt,這裏用tcp穿透
# 這一塊用http://<公網ip>:23000訪問
[[proxies]]
name = "fastgpt"
type = "tcp"
localIP = "127.0.0.1"
localPort = 3000
remotePort = 23000
3.2、客户端啓動
# 在當前目錄下啓動cmd程序,執行下面
frpc.exe -c frpc.toml

tcp:
image.png
這裏啓動成功,訪問到內網主機的3000端口

http:(不過不用域名就跟tcp一樣了)
image.png

user avatar binecy 頭像 uyangxiansen 頭像 zhangfeidezhu 頭像 wzc520pyf 頭像 u_16459925 頭像
5 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.