目录

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

本文是转载文章,点击查看原文
如有侵权,请联系 xyy@jishuzhan.net 删除
相关推荐
SoFlu软件机器人23 分钟前
飞算 JavaAI 与 Spring Boot:如何实现微服务开发效率翻倍?
spring boot·后端·微服务
来自星星的坤1 小时前
Vue 3中如何封装API请求:提升开发效率的最佳实践
前端·javascript·vue.js
jack_xu2 小时前
经典大厂面试题——缓存穿透、缓存击穿、缓存雪崩
java·redis·后端
vvilkim3 小时前
全面解析React内存泄漏:原因、解决方案与最佳实践
前端·javascript·react.js
vvilkim3 小时前
React批处理(Batching)更新机制深度解析
前端·javascript·react.js
Bayi·3 小时前
前端面试场景题
开发语言·前端·javascript
Xiaoyu Wang3 小时前
Go协程的调用与原理
开发语言·后端·golang
程序猿熊跃晖4 小时前
Vue中如何优雅地处理 `<el-dialog>` 的关闭事件
前端·javascript·vue.js
进取星辰4 小时前
12、高阶组件:魔法增幅器——React 19 HOC模式
前端·javascript·react.js
爱发飙的蜗牛4 小时前
springboot--web开发请求参数接收注解
java·spring boot·后端