frp免費內網穿透訪問家用電腦本地服務(http示例)

TANKING發表於2022-03-25

內網穿透

別人是無法通過一個連結訪問到你家裡的電腦的某個資料夾裡面的檔案的,因為你家裡的電腦屬於內網,而能通過一個連結去訪問的屬於公網,所以這就需要使用【內網穿透】這一個技術概念去實現遠端訪問家裡電腦。

frp是什麼

frp是一個專注於內網穿透的高效能的反向代理應用,支援 TCP、UDP、HTTP、HTTPS 等多種協議。可以將內網服務以安全、便捷的方式通過具有公網IP節點的中轉暴露到公網。

frp整個服務過程就是這樣,與其說是免費,實際上你也是需要一臺伺服器來實現。如果你有伺服器,那就好辦,如果沒有伺服器,要麼購買伺服器,要麼就借用他人伺服器去搭建這個frp穿透服務。

frp下載

frp是免費開源的,可以在GitHub下載對應的版本:https://github.com/fatedier/f...

因為我是Linux伺服器做服務端,Windows系統作為客戶端,所以我這邊就下載了兩個版本,一個是用於架設服務端frp一個用於架設客戶端。

frp安裝

安裝文件(中文):https://gofrp.org/docs/setup/

我的伺服器是使用寶塔皮膚,直接在寶塔皮膚的【檔案】根目錄下的www/wwwroot/目錄下建立了一個frp目錄,然後將frp_0.41.0_linux_386.tar.gz解壓後這三個檔案上傳到這個目錄。


這三個檔案是服務端frp的二進位制檔案和配置檔案。

這樣就已經是部署好了服務端,接著就是部署客戶端。因為我的客戶端是Windows,所以我剛才下載了2個frp版本,剛才部署的是Linux伺服器的服務端,現在部署的是Windows客戶端。將frp_0.41.0_windows_386.zip解壓後這三個檔案複製到你電腦的任意目錄下,我這裡是放在D盤的frp目錄。

image.png

配置和啟動frp實現http訪問內網服務

在寶塔皮膚的檔案管理皮膚中找到frp的檔案目錄雙擊frps.ini開啟配置檔案,如下圖進行配置。

image.png

服務端配置

[common]
bind_addr = 0.0.0.0
bind_port = 7000
privilege_token = 12345678
vhost_http_port = 8080

說明:bind_addr是伺服器本地ip,bind_port是伺服器本地開放出來用於frp的埠,privilege_token是用於服務端和客戶端的一個安全驗證的token令牌,vhost_http_port是服務端對外開放的一個http埠,原則上是使用80埠的,但是一般有伺服器會架設80埠用於其他網站或者服務了,所以80應該會被佔用,這裡就使用8080代替80埠。

客戶端配置

開啟客戶端frp的配置檔案frpc.ini,我這裡使用sublime text3開啟,你也可以使用記事本或者其他程式碼編輯器開啟。

image.png
image.png

[common]
server_addr = xxx.xx.xx.x
server_port = 7000
privilege_token = 12345678

[httpname]
type = http
local_port = 80
local_ip = 127.0.0.1
custom_domains = www.qq.com

說明:server_addr是伺服器的ip地址,server_port是服務端frp設定的開放埠,privilege_token是服務端設定的token,type是http服務,local_port是客戶端的本地服務埠(我這裡的客戶端是家裡的電腦),家裡電腦搭建了一個網站並且使用phpstudy在本地開啟了服務,所以是80埠,local_ip是客戶端http服務的ip地址,本地服務的ip地址都是127.0.0.1,custom_domains是繫結的域名,你需要去解析這個域名到你的伺服器的ip上。

以上服務端和客戶端配置完成。

開啟frp服務

開啟寶塔皮膚的【終端】

image.png

通過cd命令cd到你的frp服務端的目錄下再去執行下面的命令啟動frp服務端。

./frps -c ./frps.ini

服務端啟動之後,再去啟動客戶端。因為我的客戶端是windows,所以使用cmd進行啟動。在frp的客戶端的目錄下的檔案目錄上輸入cmd按回車進入cmd命令列工具。

image.png
image.png

直接輸入frpc.exe按回車啟動客戶端。

訪問服務

當以上配置都完成了之後,你的frp內網穿透服務即可使用。

image.png

在瀏覽器輸入你剛才配置的域名和frp服務端對外服務的埠號即可通過http訪問內網的服務。例如你的域名是www.qq.com,當初配置的服務端http埠是8080,那麼就要訪問:http://www.qq.com:8080,注意,一定要在伺服器開放以上涉及到的埠,無論是8080還是7000埠,都需要開放,具體開放位置是寶塔皮膚的【安全】

image.png

我是使用phpstudy在家裡電腦搭建了一個網站,所以直接訪問即可顯示。

image.png

作者:TANKING
Web:www.likeyunba.com
WeChat:sansure2016(加我可進技術群)

相關文章