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