我不是一個資深高手,只想描述普通人在項目中真正常見的問題,以及我的一些經驗!
? ?在企業(yè)級開發(fā)中,項目可能會遇到多團隊合作,跨地合作,以及遠程支持的場景,這個時候,我們在公司內網(wǎng)中部署的的一些服務,比如數(shù)據(jù)庫 代碼服務器,以及部署的一些應用需要支持到公網(wǎng)可以訪問的地步。
? ?當然有些公司天然開發(fā)測試環(huán)境就是在云服務器上的,可以直接通過云服務器的公網(wǎng)ip進行訪問,當然這個是最好的,但是,如果公司內網(wǎng)服務比較多,內部開發(fā)環(huán)境就全部部署云服務器,必然也是一比不小的成本,最近在幫助朋友公司搭建開發(fā)環(huán)境的時候,我就利用frpc 購買了一臺配置相對較低的云服務器作為跳板機,利用frpc的端口轉發(fā),將公司內網(wǎng)的服務,通過端口轉發(fā),拋給外網(wǎng),實現(xiàn)外網(wǎng)可以訪問內網(wǎng)服務的目標。
? ? 當然frpc能節(jié)省成本,但是懂網(wǎng)絡轉發(fā)的,都知道,io是耗時的,有利有弊,我個人建議是,如果只是開發(fā)演示環(huán)境,完全沒必要單獨購買云服務器,只要通過frpc搭建轉發(fā)即可。
? ?話不多說,直接上操作
1.下載frpc
? ?frpc下載地址:https://github.com/fatedier/frp/releases
? ?自己選擇版本,個人建議,不要選擇太高級的版本,尤其是如果外網(wǎng)服務器是window,別問我為什么,都是踩坑過來的,最終,因為我這邊外網(wǎng)服務器是window,我最終選擇了frp_0.43.0_windows_amd64.zip 這個下載包,如果不是很懂,直接參考我的操作即可,既然選擇了0.43.0 版本,其他的各個終端也需要選擇對應版本。
2.如何使用frpc
? frpc的使用非常簡單,但是首選要明確兩個概念,一個是服務端(有公網(wǎng)地址的機器) 一個是客戶端(無公網(wǎng)地址,但是需要轉發(fā)到公網(wǎng))
? 我先給出,下載解壓之后的截圖


服務端搭建
? ?frpc中無論是windows 還是linux 都有兩個可執(zhí)行行文件,frps 表示是server 端 也就是服務端,在有外網(wǎng)地址的服務器中,需要運行的可執(zhí)行文件一定是frps 對應配置文件就是 frps.ini
? ?我以我本次搭建舉例,我們修改frps.init文檔

? ? 如上圖所示,服務端的配置其實相對簡單 ,frps 服務運行端口 設置token 用于安全驗證,避免非安全鏈接
? ? 修改完成之后,windows 直接運行?frps.exe -c frps.ini 命令即可(記得打開的cmd 不能關閉)? 如果是linux 設計后臺啟動概念運行
? ? nohup ./frps -c ./frps.ini & 即可
客戶端搭建
? ? frpc中無論是windows 還是linux 都有兩個可執(zhí)行行文件,frpc 表示是client 端 也就是客戶端,在無外網(wǎng)地址,但是需要拋出道外網(wǎng)的機器中進行運行
? ? 我以我本次搭建舉例,我們修改frpc.init文檔

? ? ?更改為自己的配置文件之后,windows直接運行?frpc.exe -c frpc.ini 命令即可(記得打開的cmd 不能關閉)? 如果是linux 設計后臺啟動概念運行nohup ./frpc -c ./frpc.ini & 即可
3.注意事項
? ?1.不確定是否成功時,可以先不用后臺啟動的模式啟動客戶端或者服務端,這樣可以在控制臺看到鏈接日志,確定ok之后在后臺啟動。
? ?2.有時候明明感覺frp已經成功,但是外網(wǎng)無法訪問通,我們可以看看windows的防火墻策略,或者是linux的防火墻是否允許對應端口開放。