注意:从 [v0.52.0] 版本开始,配置文件由 frps.ini 改成了 frps.toml
一种快速反向代理,可帮助您将 NAT 或防火墙后面的本地服务器暴露给 Internet。
GitHub 地址 : github.com/fatedier/fr… 下载之后如果碰到杀毒软件报毒,可加入白名单处理
目录
- 1、服务端配置
- 1.1 下载软件
- 1.2 配置
- 1.2.1 修改配置
- 1.2.2 防火墙开启端口
- 1.2.3 启动
- 1.2.4 加入 systemd 服务 (可选)
- 2、Nginx 配置
- 2.1、域名解析
- 2.2、nginx 配置文件增加 如下配置
- 3、客户端配置
- 3.1 下载软件
- 3.2 配置
- 3.2.1 修改配置
- 3.2.2 启动命令
- 3.2.3 访问 dashboard 页面
- 3.2.4 浏览器访问代理接口
- 参考文档
1、服务端配置
公网IP服务器 以及 域名 frp 版本: v0.55.1
1.1 下载软件
# 方式1: 本地直接下载上传到服务器
# 方式2: wget命令
wget https://github.com/fatedier/frp/releases/download/v0.55.1/frp_0.55.1_linux_amd64.tar.gz
1.2 配置
# 解压
[root@centos frp]# tar -zxvf frp_0.55.1_linux_amd64.tar.gz
# 进入目录
[root@centos frp_0.55.1_linux_amd64]# ls -ll
-rwxr-xr-x 1 1001 docker 14442648 Mar 12 18:14 frpc
-rw-r--r-- 1 1001 docker 142 Mar 12 18:17 frpc.toml
-rwxr-xr-x 1 1001 docker 18387096 Mar 12 18:14 frps
-rw-r--r-- 1 1001 docker 414 Mar 14 14:02 frps.toml
-rw-r--r-- 1 1001 docker 11358 Mar 12 18:17 LICENSE
文件说明 frps 服务端配置文件 frpc 客户端配置文件
1.2.1 修改配置
修改frps.toml 文件
[root@iZ2zedzqu frp_0.55.1_linux_amd64]# cat frps.toml
# 服务端口
bindPort = 7000
# 授权码,请改成更复杂的 客户端会用到
auth.token = "token123456"
# 服务端通过此端口接监听和接收公网用户的http请求
vhostHTTPPort = 7000 #
# dashboard配置
webServer.addr = "0.0.0.0"
webServer.port = 7001
# dashboard 用户名密码,可选,默认为空
webServer.user = "admin"
webServer.password = "admin"
1.2.2 防火墙开启端口
开启 7000 7001 端口
1.2.3 启动
启动命令
[root@centos frp_0.44.0_linux_amd64]# ./frps -c ./frps.toml
# 后台启动
[root@centos frp_0.44.0_linux_amd64]# ./frps -c ./frps.toml &
输入ip+端口号 ,输入账号密码 访问 dashboard,页面如下: 服务端配置已完成 .
1.2.4 加入 systemd 服务 (可选)
在 Linux 系统下,使用 systemd 可以方便地控制 frps 服务端的启动、停止、配置后台运行以及开机自启动。
操作步骤:
- 安装 systemd如果您的 Linux 服务器上尚未安装 systemd,可以使用包管理器如 yum(适用于 CentOS/RHEL)或 apt(适用于 Debian/Ubuntu)来安装它:
# 使用 yum 安装 systemd(CentOS/RHEL)
yum install systemd
# 使用 apt 安装 systemd(Debian/Ubuntu)
apt install systemd
- 创建 frps.service 文件
使用文本编辑器 (如 vim) 在 /etc/systemd/system 目录下创建一个 frps.service 文件,用于配置 frps 服务。
$ sudo vim /etc/systemd/system/frps.service
写入内容
[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /path/to/frps -c /path/to/frps.toml
[Install]
WantedBy = multi-user.target
- 使用 systemd 命令管理 frps 服务
# 启动frp
sudo systemctl start frps
# 停止frp
sudo systemctl stop frps
# 重启frp
sudo systemctl restart frps
# 查看frp状态
sudo systemctl status frps
- 设置 frps 开机自启动
sudo systemctl enable frps
2、Nginx 配置
2.1、域名解析
域名解析 添加 frp 以及 *.frp 二级域名,域名可自定义
2.2、nginx 配置文件增加 如下配置
server {
listen 80;
listen [::]:80;
server_name *.frp.xxx.cn;
location / {
proxy_set_header Host $host;
#frp监听客户端http请求
proxy_pass http://公网IP:7000;
}
}
server {
listen 80;
listen [::]:80;
server_name frp.xxx.cn;
location / {
proxy_set_header Host $host;
# 管理面板
proxy_pass http://公网IP:7001;
}
}
3、客户端配置
以 windows 客户端为例 frp 版本: v0.55.1
3.1 下载软件
# 直接下载
https://github.com/fatedier/frp/releases/download/v0.55.1/frp_0.55.1_windows_amd64.zip
3.2 配置
解压 frp_0.55.1_windows_amd64.zip
3.2.1 修改配置
修改frpc.toml 文件
# 此配置不可更改
serverAddr = "公网ip"
serverPort = 7000
# 授权码和服务端一致
auth.token = "token123456"
# lee 改成你自定义的名字用来区分用户
user = "lee"
# 代理配置①
[[proxies]]
name = "web2" # web2改成自定义的项目名
type = "http"
localPort = 1668 # 1668改成想代理的端口号
customDomains = ["web2.frp.xxx.cn"] # 此处只改三级域名(*.frp.xxx.cn)* 改为你自定义的名字
# 代理配置②
#[[proxies]]
#name = "web3" # web2改成自定义的项目名
#type = "http"
#localPort = 1669
#customDomains = ["web3.frp.xxx.cn"]
3.2.2 启动命令
windows 下启动命令:
.\frpc.exe -c .\frpc.toml
出现 start proxy success 说明配置成功
3.2.3 访问 dashboard 页面
可以看到 web 代理已经成功