当前位置: 首页 > article >正文

FRP反向代理使用

FRP反向代理使用

1.配置服务端

[frp_0.61.0_linux_amd64.tar.gz](https://github.com/fatedier/frp/releases/tag/v0.61.0)

我这里下载的是0.61的版本frp_0.61.0_linux_amd64.tar.gz

https://github.com/fatedier/frp/releases/download/v0.61.0/frp_0.61.0_linux_amd64.tar.gz

1.1登录公网服务器

cd /usr/local
mkdir frps
cd frp

将压缩包压缩包frp_0.61.0_linux_amd64.tar.gz到此目录下/usr/local/frps

并解压文件

tar -zxvf frp_0.61.0_linux_amd64.tar.gz

其中frps为启动文件,frps.toml为配置文件

编辑文件vim ./frps.toml

bindPort = 7000
auth.token = "-----"

# 服务端仪表盘的端口, 可以用浏览器访问查看
webServer.addr = "0.0.0.0"
webServer.port = 7500

# 服务端仪表盘的用户密码
webServer.user = "admin"
webServer.password = "admin"

# 虚拟主机端口
vhostHTTPPort = 9001

1.2 启动服务

然后通过命令启动

./frps -c ./frps.toml
检查是否启动成功:

ps -ef |grep frps

1.3访问管理平台

http://82.156.167.128:7500

请确定已经放开端口7500/7000两个端口

1.3查看绑定端口

# 查询端口号状态
sudo ss -tulpn | grep :7500
# 或者
sudo lsof -i :7500
# 查到进程之后,通过<PID>号杀掉进程
kill -9 <PID>

2.配置客户端

2.1下载安装包

下载安装包并解压,要关闭防火墙,要不然会被删除

frp_0.61.0_windows_amd64.zip

2.2修改配置

下载之后修改frpc.toml

serverAddr = "82.156.167.128"
serverPort = 7000
auth.token = 与服务器保持一致
[[proxies]]
name = "test-tcp"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6000


[[proxies]]
name = "web"
type = "http"	
localIP = "127.0.0.1"
localPort = 9001
customDomains = ["82.156.167.128"]

2.3 启动客户端

.\frpc.exe -c .\frpc.toml

3.安装systemd来管理frps服务

3.1 安装systemd

yum install systemd

3.2 创建frps.service文件

执行命令sudo vim /etc/systemd/system/frps.service

[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /root/frp_0.61.0_linux_amd64/frp_0.61.0_linux_amd64/frps -c /root/frp_0.61.0_linux_amd64/frps.toml
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
PrivateTmp=true
StandardOutput=syslog
StandardError=inherit
[Install]
WantedBy = multi-user.target
 

3.3 使用 systemd 命令管理 frps 服务

# 启动frp

sudo systemctl start frps

# 停止frp

sudo systemctl stop frps

# 重启frp

sudo systemctl restart frps

# 查看frp状态

sudo systemctl status frps

3.4 设置frps开机自启动

# 设置 frps 开机自启动
sudo systemctl enable frps

4.docker部署模式

1.服务端

创建frp-server.yaml文档

version: '3.3'  # 选择一个你支持的版本,3.8 是较新的版本,支持很多特性  
  
services:  
  frps:  
    image: registry.cn-hangzhou.aliyuncs.com/devops_de/frps:frps:nightly-alpine3.20 
    container_name: frps  
    restart: always  
    network_mode: host  
    volumes:  
      - /root/frps/frps.toml:/etc/frp/frps.toml

创建/root/frps/frps.toml文件

bindPort = 7000
auth.token = "your token"

# 服务端仪表盘的端口, 可以用浏览器访问查看
webServer.addr = "0.0.0.0"
webServer.port = 7500

# 服务端仪表盘的用户密码
webServer.user = "admin"
webServer.password = "admin"

# 虚拟主机端口
vhostHTTPPort = 3306

然后使用

docker-compose -f frp-server.yaml up -d

启动反向代理服务

其实我们在 frps.toml 中配置了 log.to = "console", 日志实际上已经输出了, 这里我们直接通过 docker logs frps 就可以查看到日志信息了:

2.客户端

docker run --restart=always --network host -d -v /root/frpc/frpc.toml:/etc/frp/frpc.toml --name frpc registry.cn-hangzhou.aliyuncs.com/devops_de/frpc:nightly-alpine3.20

frpc.toml文件如下,对本地Mysql做内网穿透

serverAddr = "82.156.167.128"
serverPort = 7000
auth.token = "your token"
[[proxies]]
name = "mysql"
type = "tcp"
localIP = "127.0.0.1"
localPort = 3306
remotePort = 33306
#customDomains = ["118.24.28.8"]

http://www.kler.cn/a/382127.html

相关文章:

  • 揭秘C++中的容器
  • 从零开始的c++之旅——多态
  • 剧本杀小程序,市场发展下的新机遇
  • 创建线程时传递参数给线程
  • Vue 3 单元测试与E2E测试
  • DolphinScheduler告警通知
  • 使用 OpenCV 实现图像的透视变换
  • 数据结构,问题 E: 表达式括号匹配
  • 英语写作中用identify 替代find
  • Interpreter 解释器模式
  • 【C++组合数学】2850. 将石头分散到网格图的最少移动次数|2001
  • 51单片机教程(五)- LED灯闪烁
  • html练习2
  • 工作中问题
  • SQL,力扣题目1767,寻找没有被执行的任务对【递归】
  • 【点云学习笔记】——分割任务学习
  • 常见的排序算法(二)
  • 微信小程序的汽车维修预约管理系统
  • 【xml转JSON】
  • nginx 搭建网站
  • Django Admin
  • Redis 中 Bitmap 原理和应用
  • LeetCode 2487.从链表中移除节点
  • C++ | Leetcode C++题解之第523题连续的子数组和
  • pytorch学习:矩阵分解:奇异值分解(SVD分解)
  • DevOps-课堂笔记