雲服務器搭建frp服務(超詳細)


初學、沒有雲服務器的時候總想着怎樣才能讓別人訪問到自己的項目。

在查閱了百度,逛過了一些論壇之后,了解到了 內網穿透 這個詞。

經過一番鑽研,通過 手機 + KSWEB + 電腦 成功將內網服務映射出去了(現在想來在手機上跑服務器有點多此一舉)

后來慢慢接觸到了更多內網映射的渠道,如櫻花frp、浮居frp等等,也充過會員,速度還行。

 

但是,怎能止步於此,前段時間接觸到了用私人雲服務器搭建的frp服務,這激起了我的興趣,經過一番琢磨最終搭建起來了,特此記錄

WindowsLinux 通用,只是軟件版本和命令稍有不同

 

開始前你得具備以下條件

雲服務器 + 大陸境內已備案的域名 + 願意琢磨(第一次會稍微有一點點繞,其實很簡單)

 

1.下載對應雲服務器版本的 frp(frps) 包 

 我的雲服務器版本是 CetenOS 7,這里給出我用到的,其余系統百度下載

 frp_0.27.0_linux_amd64.tar 點擊下載

 

2.把 frp 包上傳到雲服務器,放到自己習慣的目錄下(也可解壓后通過寶塔面板上傳),如下圖

 不會 傳/解壓 用就百度,新人用寶塔也方便

 

3.修改 frps.ini 配置文件

示例:

[common]
# frp服務端口
bind_port = 7000
# 用戶連接時的url端口
vhost_http_port = 10000
# 主域名 通過此域名連接(也可用公網IP)
subdomain_host = test.com
dashboard_port = 7500
# 賬戶
dashboard_user = admin
# 密碼
dashboard_pwd = admin123
max_pool_count = 10
# 日志文件位置及名字
log_file = ./frps.log
# 日志級別
log_level = info
# 日志最多記錄天數
log_max_days = 3
# token 客戶端token需要與此一致
token = testtoken

[web01]
# 如果值為http,則必須設置 vhost_http_port
type = http
# 如果代理類型等於http,則必須設置自定義_域,並用逗號分隔
# 例:custom_domains = web01.yourdomain.com,web01.yourdomain2.com
custom_domains = test.com

 

4.雲服務端口放行

步驟3自定義配置好了后

放行frp服務端口(步驟三的 bind_port = 7000

放行自定義訪問端口(步驟三的 vhost_http_port = 10000

  

5.添加域名解析

例如你的主域名是 test.com

這里添加解析名為 frp,記錄值為雲服務器的 公網IP

最終效果是 frp.test.com

 

6.啟動frp服務

先切換到frp的根目錄

再用命令 ./frps -c ./frps.ini 啟動服務

(上面是相對路徑,也可不切換路徑,直接在啟動命令中用絕對路徑)

此種方式啟動服務后不能關閉命令窗口,命令窗口關閉后服務也會關閉

掛后台方式參考 步驟13

  

7.  至此,雲服務器端配置全部完成!!!  

  只有最后幾個步驟了,馬上完工!

 

8.客戶端下載 frpc 包(不是frps包)

 我的系統是 Win10,所以用Windows對應的 frpc包

 這里給出我用到的,其余系統百度下載

 frpc_0.29.0_windows_amd64 點擊下載

 

 下載好 frpc包后將文件解壓到C盤以外的其它盤(一般文件不建議放C盤)

 示例:在E盤根目錄新建一個名為 frpc的文件夾,將frpc包解壓在里面

 如圖:

 

9.配置 frpc.ini

windows下雙擊打開 frpc.ini

左側是雲服務器的frps配置,供對照

右側是客戶端的frpc配置,這才是我們要設置的地方

 

1.local_ip 是要映射服務所在的主機ip,如果和fprc在同一電腦可用127.0.0.1(一般都是),不是的話要用對應ip地址

2.local_port 是我們的服務端口,比如SpringBoot程序或者Tomcat的端口是8080就填8080

3.右側自定義域名與 步驟5 的解析一致(配置文件第6行和第10行請保持一致,防止多客戶端沖突)

  

10.萬事俱備,檢查一遍

1.至此配置都完成了,檢查一遍以上步驟是否有遺漏或者錯誤配置

2.確保雲服務器 frps 處於運行狀態 (./frps -c ./frps.ini 執行后不能關閉命令界面,否則會停止服務。掛后台方式參考 步驟13

3.確保本地 frpc 處於啟動狀態,Windows下啟動后cmd窗口不能關(Windows下雙擊.bat文件啟動,不能直接點 frpc.exe)

4.確保要映射的端口處於運行狀態(如映射Tomcat請確保Tomcat處於運行狀態)

 

11.啟動內網映射

在確保以上步驟無誤后

以Windows為例,雙擊 frpc.bat 啟動映射服務(Windows客戶端掛后台方式參考百度

如下圖,提示success且光標處於待定狀態便是啟動成功了

 

12.訪問服務

此前配置如下(參考 步驟3 步驟9):

主域名:test.com

解析值:frp

訪問端口:10000

映射類型:http

 

合並起來就是:http://frp.test.com:10000

外網即可通過以上鏈接訪問我們映射出來的服務

 

13.frps 服務掛后台運行

以 Linux 為例,在目錄 /etc/systemd/system 下新建文件名為 frps.service 的文件(Windows參考百度)

說明: ExecStart = frps.exe所在的目錄/frps -c frps.ini所在的目錄/frps.ini

內容如下:

[Unit]
Description=Frp Server Service
After=network.target

[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/home/frp_0.27.0_linux_amd64/frps -c /home/frp_0.27.0_linux_amd64/frps.ini

[Install]
WantedBy=multi-user.target

文件新建好后用以下命令控制(Linux的客戶端也是此命令,把 frps 改成 frpc 即可):

systemctl enable frps #設置開機啟動
systemctl start frps #啟動
systemctl stop frps #停止
systemctl status frps #狀態

 

其它:多個客戶端使用映射

我們只需要在 步驟五 給每個不同客戶端添加一個解析值就可以了

如 frp, frp2, frp3

不同客戶端的配置文件里對應解析域名分別填上frp, frp2, frp3

最終訪問的url就是:

http://frp.test.com:10000

http://frp2.test.com:10000

http://frp3.test.com:10000

 

轉載請附上原文鏈接


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM