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/...

相关推荐
长天一色4 分钟前
【ECMAScript 从入门到进阶教程】第三部分:高级主题(高级函数与范式,元编程,正则表达式,性能优化)
服务器·开发语言·前端·javascript·性能优化·ecmascript
NiNg_1_23422 分钟前
npm、yarn、pnpm之间的区别
前端·npm·node.js
秋殇与星河24 分钟前
CSS总结
前端·css
千里码aicood40 分钟前
【2025】springboot教学评价管理系统(源码+文档+调试+答疑)
java·spring boot·后端·教学管理系统
BigYe程普1 小时前
我开发了一个出海全栈SaaS工具,还写了一套全栈开发教程
开发语言·前端·chrome·chatgpt·reactjs·个人开发
余生H1 小时前
前端的全栈混合之路Meteor篇:关于前后端分离及与各框架的对比
前端·javascript·node.js·全栈
程序员-珍1 小时前
使用openapi生成前端请求文件报错 ‘Token “Integer“ does not exist.‘
java·前端·spring boot·后端·restful·个人开发
axihaihai1 小时前
网站开发的发展(后端路由/前后端分离/前端路由)
前端
流烟默1 小时前
Vue中watch监听属性的一些应用总结
前端·javascript·vue.js·watch
liuxin334455661 小时前
教育技术革新:SpringBoot在线教育系统开发
数据库·spring boot·后端