知果果網站誰做的軟文編輯
使用Docker搭建一個frp內網穿透
在現(xiàn)代網絡環(huán)境中,由于防火墻和NAT等原因,內網設備無法直接被外網訪問。FRP (Fast Reverse Proxy) 是一款非常流行的內網穿透工具,它能夠幫助我們將內網服務暴露給外網。本文將介紹如何在Linux服務器上使用Docker搭建一個FRP服務器,幫助你實現(xiàn)內網穿透。
前置條件
- 一臺安裝了Linux操作系統(tǒng)的服務器(例如Ubuntu)。
- 服務器已經安裝了Docker。
安裝Docker
CentOS7/8 安裝 Docker-ce
創(chuàng)建FRP配置文件
接下來,我們需要創(chuàng)建FRP的配置文件,我當前使用的版本是v0.58.0
。
-
創(chuàng)建目錄:
sudo mkdir -p /data/frps
-
創(chuàng)建FRP服務器配置文件
frps.toml
,在最新版本配置文件已經使用toml
后綴了:sudo vim /data/frps/frps.toml
文件內容如下:
bindPort = 7000 # 服務器端口 vhostHTTPPort = 80 # http代理端口 vhostHTTPSPort = 443 # https代理端口,不需要可以忽略 auth.method = "token" # 鑒權方式 auth.token = "authpwd" # 客戶端連接需要的密碼 webServer.port = 7500 # 控制臺端口 webServer.addr = "0.0.0.0" # 可訪問控制臺的ip webServer.user = "admin" # 控制臺賬號 webServer.password = "password" # 控制臺密碼
通過Docker運行FRP容器
現(xiàn)在我們可以通過Docker來運行FRP服務器了。
-
在服務器上拉取FRP Docker鏡像:
sudo docker pull snowdreamtech/frps
-
運行FRP容器:
sudo docker run -d -p 7000:7000 -p 80:80 -p 443:443 -p 7500:7500 -v /data/frps/frps.toml:/etc/frp/frps.toml --name frps snowdreamtech/frps
這里我們使用了
-v
參數(shù)將本地的frps.toml
配置文件掛載到容器內,并將容器的7000端口和7500端口映射到宿主機。
驗證內網穿透服務
現(xiàn)在,我們的FRP服務器已經在運行了。接下來,我們需要在內網機器上配置FRP客戶端。
- 下載FRP客戶端并解壓,我客戶端是臺Win10筆記本:
下載鏈接
解壓出來有一下文件,客戶端中的frpsexe
和frps.toml
可以刪了。
-
修改FRP客戶端配置文件
frpc.toml
:
文件內容如下:serverAddr = "120.88.888.169" # frp服務器ip serverPort = 7000 # 和frp服務器bindPort一樣 auth.method = "token" auth.token = "authpwd" # 和服務器上的一樣[[proxies]] name = "web_https" type = "https" customDomains = ["www.ddz.com"] # 域名,需要已經解析到frp服務器ip[proxies.plugin] type = "https2http" localAddr = "127.0.0.1:8080" # 本地應用端口,本地運行的服務的ip+port# HTTPS 證書相關的配置,這里只需要修改證書路徑即可 crtPath = "./ssl/***.crt" keyPath = "./ssl/***.key" hostHeaderRewrite = "127.0.0.1" requestHeaders.set.x-from-where = "frp"
-
啟動FRP客戶端,創(chuàng)建
bat
腳本,腳本內容:./frpc -c frpc.toml
至此,你可以通過訪問 https://www.ddz.com
來訪問內網的Web服務了。
總結
本文介紹了如何在Linux服務器上使用Docker搭建FRP內網穿透服務。通過這篇文章,你應該能夠在自己的服務器上搭建FRP服務器,并通過Docker容器來管理和運行它。這將極大地簡化內網設備的外網訪問需求,提高了工作效率。