frp 内网穿透配置(v0.55.1 版本)

注意:从 [v0.52.0] 版本开始,配置文件由 frps.ini 改成了 frps.toml

一种快速反向代理,可帮助您将 NAT 或防火墙后面的本地服务器暴露给 Internet。

GitHub 地址 : github.com/fatedier/fr... 下载之后如果碰到杀毒软件报毒,可加入白名单处理

1、服务端配置

公网IP服务器 以及 域名 frp 版本: v0.55.1

1.1 下载软件

ruby 复制代码
# 方式1: 本地直接下载上传到服务器
​
# 方式2: wget命令
wget https://github.com/fatedier/frp/releases/download/v0.55.1/frp_0.55.1_linux_amd64.tar.gz

1.2 配置

yaml 复制代码
# 解压
[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 文件

ini 复制代码
[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 启动

启动命令

csharp 复制代码
[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 服务端的启动、停止、配置后台运行以及开机自启动。

操作步骤:

  1. 安装 systemd如果您的 Linux 服务器上尚未安装 systemd,可以使用包管理器如 yum(适用于 CentOS/RHEL)或 apt(适用于 Debian/Ubuntu)来安装它:
bash 复制代码
# 使用 yum 安装 systemd(CentOS/RHEL)
yum install systemd
​
# 使用 apt 安装 systemd(Debian/Ubuntu)
apt install systemd
  1. 创建 frps.service 文件

使用文本编辑器 (如 vim) 在 /etc/systemd/system 目录下创建一个 frps.service 文件,用于配置 frps 服务。

shell 复制代码
$ sudo vim /etc/systemd/system/frps.service

写入内容

ini 复制代码
[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
  1. 使用 systemd 命令管理 frps 服务
bash 复制代码
# 启动frp
sudo systemctl start frps
# 停止frp
sudo systemctl stop frps
# 重启frp
sudo systemctl restart frps
# 查看frp状态
sudo systemctl status frps
  1. 设置 frps 开机自启动
bash 复制代码
sudo systemctl enable frps

2、Nginx 配置

2.1、域名解析

域名解析 添加 frp 以及 *.frp 二级域名,域名可自定义

2.2、nginx 配置文件增加 如下配置

ini 复制代码
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 下载软件

ruby 复制代码
# 直接下载
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 文件

ini 复制代码
# 此配置不可更改
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 启动命令

r 复制代码
windows 下启动命令:
​
.\frpc.exe -c .\frpc.toml
​
出现 start proxy success 说明配置成功

3.2.3 访问 dashboard 页面

可以看到 web 代理已经成功

3.2.4 浏览器访问代理接口

参考文档

官方文档: gofrp.org/zh-cn/docs/...

相关推荐
hackeroink1 小时前
【2024版】最新推荐好用的XSS漏洞扫描利用工具_xss扫描工具
前端·xss
迷雾漫步者3 小时前
Flutter组件————FloatingActionButton
前端·flutter·dart
向前看-3 小时前
验证码机制
前端·后端
燃先生._.4 小时前
Day-03 Vue(生命周期、生命周期钩子八个函数、工程化开发和脚手架、组件化开发、根组件、局部注册和全局注册的步骤)
前端·javascript·vue.js
超爱吃士力架5 小时前
邀请逻辑
java·linux·后端
高山我梦口香糖5 小时前
[react]searchParams转普通对象
开发语言·前端·javascript
m0_748235245 小时前
前端实现获取后端返回的文件流并下载
前端·状态模式
m0_748240256 小时前
前端如何检测用户登录状态是否过期
前端
black^sugar6 小时前
纯前端实现更新检测
开发语言·前端·javascript