frp 是什么?
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
安装
配置公网服务器
下载服务端二进制文件,下载地址:https://github.com/fatedier/frp/releases
bash
# 下载
wget https://github.com/fatedier/frp/releases/download/v0.37.0/frp_0.37.0_linux_amd64.tar.gz
# 解压
tar -zxvf frp_0.37.0_linux_amd64.tar.gz
cd frp_0.37.0_linux_amd64
sudo nano frps.ini
frps.ini配置文件如下:
bash
[common]
bind_port = 7000 ;客户端连接到该服务器的端口号
dashboard_port = 7002 ; 服务端仪表板的端口号
token = mytoken ; 客户端和服务端连接的token
dashboard_user = admin ; 仪表盘登录名
dashboard_pwd = pwd ; 仪表盘登录密码
vhost_http_port = 8080 ; 连接到客户端http服务时访问公网服务器的端口号
bash
# 启动服务端
nohup ./frps -c frps.ini &
配置客户端
下载服务端二进制文件,下载地址:https://github.com/fatedier/frp/releases
bash
wget https://github.com/fatedier/frp/releases/download/v0.37.0/frp_0.37.0_darwin_arm64.tar.gz
解压到本地目录
配置,frpc.ini配置文件如下:
bash
[common]
server_addr = 123.123.123.123 ;公网ip
server_port = 7000 ; 服务端与客户端连接的端口号,即 bind_port
token = mytoken ; 服务端配置的token
[mac-test-web]
type = http ;转发的协议类型
local_port = 5000 本地监听的端口
custom_domains = www.yourdomain.com // 指向服务端的域名
bash
# 启动
./frpc -c frpc.ini
测试
启动本地web服务,端口为5000,在任意机器上访问 www.yourdomain.com:8080 , 查看是否能访问到本地的web服务。
参考