天天看點

如何使用frp(Fast Reverse Proxy)将内網服務公開給外網測試

作者:AI易經研究

frp(Fast Reverse Proxy)是一個專門用于内網穿透的高性能的反向代理應用,可以幫助您将内網服務公開給外網進行測試。下面是一個簡單的步驟和流程圖,幫助您了解如何使用frp。

如何使用frp(Fast Reverse Proxy)将内網服務公開給外網測試

1. 了解frp的工作原理

frp的工作原理主要包括兩個元件:frps(frp server)和frpc(frp client)。frps運作在公網伺服器上,而frpc運作在内網伺服器上。當内網服務需要被公開時,frpc會與frps建立連接配接,并将内網服務的流量通過這個連接配接轉發到frps,然後frps将這個流量轉發到公網。

如何使用frp(Fast Reverse Proxy)将内網服務公開給外網測試

公網使用者首先通路 frps 服務端,然後 frps 服務端将請求轉發給 frpc 用戶端,最後 frpc 用戶端将請求轉發給内網服務。

2. 安裝和配置frps

首先,您需要在公網伺服器上安裝和配置frps。您可以從frp的GitHub頁面下載下傳最新的frps二進制檔案,并将其解壓到您的伺服器上。然後,您需要建立一個frps.ini配置檔案,指定frps的監聽端口和其他選項。

如何使用frp(Fast Reverse Proxy)将内網服務公開給外網測試

frps.ini 是 frps 服務端的配置檔案,以下是其中一些核心的配置項目:

bind_port: 該配置項用于設定 frps 服務端監聽的端口,frpc 用戶端将通過此端口與 frps 服務端建立連接配接。

vhost_http_port 和 vhost_https_port: 這兩個配置項用于設定 frps 服務端的 HTTP 和 HTTPS 端口,公網使用者可以通過這兩個端口通路内網服務。

dashboard_port 和 dashboard_user 和 dashboard_pwd: 這三個配置項用于設定 frps 服務端的儀表闆(Dashboard)的端口以及登入使用者名和密碼。儀表闆可以用于檢視 frps 服務端的運作狀态和統計資訊。

token: 該配置項用于設定連接配接鑒權的 token,frpc 用戶端在連接配接 frps 服務端時需要提供此 token。

max_pool_count: 該配置項用于設定每個代理可以建立的最大連接配接池數量。

log_file 和 log_level 和 log_max_days: 這三個配置項用于設定日志檔案的路徑、日志級别以及日志檔案的最大儲存天數。

以上是 frps.ini 檔案中的一些核心配置項,具體的配置可能會根據你的實際需求有所不同。在配置 frps.ini 檔案時,建議參考 frp 的官方文檔以擷取更詳細的資訊。

3. 安裝和配置frpc

接下來,您需要在内網伺服器上安裝和配置frpc。您可以從frp的GitHub頁面下載下傳最新的frpc二進制檔案,并将其解壓到您的伺服器上。然後,您需要建立一個frpc.ini配置檔案,指定frpc要連接配接的frps伺服器的位址和端口,以及您要公開的内網服務的位址和端口。

如何使用frp(Fast Reverse Proxy)将内網服務公開給外網測試

配置結束就可以通過 www.yourdomain.com通路了

frpc.ini 是 frpc 用戶端的配置檔案,以下是其中一些核心的配置項目:

server_addr 和 server_port: 這兩個配置項用于設定 frps 服務端的 IP 位址和端口,這兩個配置必須與 frps 服務端的 bind_port 配置相對應。

token: 該配置項用于設定連接配接鑒權的 token,這個配置必須與 frps 服務端的 token 配置相對應。

[common] 下的 login_fail_exit: 該配置項用于設定當登入失敗時是否退出。如果設定為 false,那麼當登入失敗時,frpc 會不斷重試直到登入成功。

[common] 下的 protocol: 該配置項用于設定用于連接配接 frps 的協定,可以是 tcp、kcp 或者 websocket。

[proxy_name]: 這是一個代理配置的開始,proxy_name 是代理的名稱,可以自定義。

type: 該配置項用于設定代理的類型,可以是 tcp、udp、http、https 或者 stcp。

local_ip 和 local_port: 這兩個配置項用于設定内網服務的 IP 位址和端口。

remote_port: 該配置項用于設定 frps 服務端的端口,公網使用者可以通過這個端口通路内網服務。

以上是 frpc.ini 檔案中的一些核心配置項,具體的配置可能會根據你的實際需求有所不同。在配置 frpc.ini 檔案時,建議參考 frp 的官方文檔以擷取更詳細的資訊。

如何使用frp(Fast Reverse Proxy)将内網服務公開給外網測試

4. 安全性和進階配置

frp支援多種進階配置選項,包括流量加密、壓縮、負載均衡和多使用者支援。您可以在frps.ini和frpc.ini中配置這些選項。

此外,為了保護您的内網服務,您應該始終使用最新版本的frp,并定期檢查frp的GitHub頁面以擷取安全更新。

如何使用frp(Fast Reverse Proxy)将内網服務公開給外網測試

有一些雲服務提供商可能會提供免費的試用期或者免費的額度,您可以在這些雲服務提供商上部署您自己的 frps 伺服器。例如,Amazon AWS、Google Cloud Platform 和 Microsoft Azure 都提供了免費的試用期或者免費的額度。

如果您隻是想進行一些簡單的測試,您也可以在您自己的電腦上運作 frps 伺服器,然後使用另一台電腦運作 frpc 用戶端進行測試。這樣,您就可以在您自己的區域網路内進行測試,而不需要公網伺服器。

請注意,無論您選擇哪種方式,都需要確定您遵守了相關的使用條款和政策,以及確定了您的服務的安全和隐私。

繼續閱讀