frp無域名配置內網穿透
使用場景: 將本地http服務暴露在公網上
需要准備: frp (本次使用版本v0.37.0) 和 公網ip雲服務器
frp 分為服務端和客戶端 我們首先在服務器上下載相應版本的frp軟件包
# 以下操作在服務器上進行
# 1.下載 linux 平台 frp
$ wget https://github.com/fatedier/frp/releases/download/v0.37.0/frp_0.37.0_linux_amd64.tar.gz
# 2.解包解壓 frp
$ tar -zxvf frp_0.37.0_linux_amd64.tar.gz
# 3.編輯配置文件 frps.ini (該配置有默認值, 若和以下相同則不更改)
$ vi frp_0.37.0_linux_amd64/frps.ini
[common]
bind_port = 7000
# 4.啟動服務端frp (以下命令是在frp文件目錄下執行的)
$ frps -c frps.ini
# 5.啟動成功可以看到如下信息
frps uses config file: frp_0.37.0_linux_amd64/frps.ini
frps tcp listen on 0.0.0.0:7000
frps started successfully
# 若需要后台運行
$ nohup ./frps -c ./frps.ini &
# 查看進程
$ ps aux | grep frps
# 上面設置雲服務器暴露端口為7000 可能需要在雲服務器管理平台頁面 配置防火牆 放行端口
以上為frp服務端的配置,其實只用下載執行默認配置就行. 接下來我們在本地(我的是windows) 進行frp的客戶端配置
# 1.下載 windows 平台 frp 盡量保持與服務端版本一致
# 2.解壓 frp
# 3.假設我們本地服務為 http://127.0.0.1:88/test 我們要向公網暴露服務 通過 [公網ip + 端口] 訪問服務
# 4.編輯配置文件 frpc.ini
[common]
server_addr = xxx.xxx.xxx.xxx # 對應 服務端frp所在的服務器公網ip
server_port = 7000 # 對應 服務端frp 的 bind_port
[web] # 自定義項目名
type = tcp
local_ip = 127.0.0.1 # 映射本地ip 若為127.0.0.1可省略
local_port = 88 # 映射本地端口
remote_port = 8000 # 隨意填寫 需通過 公網ip + 此端口訪問服務
# 4.啟動客戶端frp (以下命令是在frp文件目錄下執行的)
$ frpc.exe -c frpc.ini
# 5.啟動成功可以看到如下信息
start proxy success
# 通過[公網ip + 端口] http://xxx.xxx.xxx.xxx:8000/test 即可訪問本地服務