FRP内网穿透实践

前情

FRP是一种内网穿透技术,一般应用于以下场景:

  • 公网服务器资源有限,部分资源需要本地部署,供外网访问
  • 第三方服务(微信支付)需要绑定回调接口,本地测试不便

实战

FRPS部署

FRP分为frps和frpc,为服务端-客户端架构,首先我们先在公网服务器上部署frps。

通常我们可以使用两种方式,一种是使用Docker,一种是去官网下载tar包。

首先介绍Docker下载去下载:

bash 复制代码
docker pull fatedier/frps:v0.60.0

拉取frps镜像。

编写frps.toml配置文件

ini 复制代码
[common]

bind_port = 8000

dashboard_port = 8001

dashboard_user = admin
dashboard_pwd = admin
token = your_token

将文件放入conf文件夹下,然后在conf文件夹同级编写docker-compose.yml文件

yaml 复制代码
# 命令执行 docker-compose -f docker-compose.yml up -d
version: '3.9'
services:
  frps:
    image: fatedier/frps:v0.60.0
    hostname: frps
    container_name: frps
    volumes:
      - "./config/frps.toml:/frps.toml"
    command:
      - "-c"
      - "/frps.toml"
    network_mode: "host"

最后执行:

复制代码
 docker-compose -f docker-compose.yml up -d

进入:http://your_addr:8001 即可进入dashbord

FPRC部署

参考FRPS的部署,不难想到可以通过docker下载再部署:

bash 复制代码
docker pull fatedier/frpc:v0.60.0

但是实际情况下发现,docker下载不了该镜像,哪怕是更改了版本也是如此(也可能是本人的问题)

所以关于FRPC本人是通过官网下载再上传至服务器的:

github.com/fatedier/fr...

这里需要注意!一定要下载和本地系统适配的版本,例如windows。

由于本人还用于内网穿透本地虚拟机上的服务,所以还要下载对应的linux版本,大家的非mac电脑应该都是x86版本,x86的后缀是386。

本人翻阅了相关release后,最新的x86版本为:frp_0.51.3_linux_386.tar.gz

大家根据自己的系统下载即可。

然后编写相关frpc.ini文件,这是本人的,大家参考着部署就好啦:

ini 复制代码
[common]
server_addr = "your_addr"
server_port = 8000
token = "gaoyifeng"

[ssh]
remote_port = 9000
type = "tcp"
local_ip = "127.0.0.1"
local_port = 22

[nginx-alone]
remote_port = 80
type = "tcp"
local_ip = "127.0.0.1"
local_port = 9002

[redis-alone]
remote_port = 6379
type = "tcp"
local_ip = "127.0.0.1"
local_port = 6380

[mysql8-alone]
remote_port = 3306
type = "tcp"
local_ip = "127.0.0.1"
local_port = 3306

[mysql5.7-alone]
remote_port = 3308
type = "tcp"
local_ip = "127.0.0.1"
local_port = 3307

[nacos2-alone-1]
remote_port = 8848
type = "tcp"
local_ip = "127.0.0.1"
local_port = 8848

[nacos2-alone-2]
remote_port = 9848
type = "tcp"
local_ip = "127.0.0.1"
local_port = 9848

[nacos2-alone-3]
remote_port = 9849
type = "tcp"
local_ip = "127.0.0.1"
local_port = 9849

最后通过命令:./frpc -c frpc.ini运行即可。运行完成后可去frps的控制台观察执行情况。

相关推荐
米沙AI16 分钟前
go语言项目--实例化(图书管理)--v1
后端
MeixianAgent21 分钟前
Python 回测数据入口怎么验?历史 K 线入库前先做 5 个检查
后端·python
9i编程24 分钟前
SpringBoot 测试环境免发短信验证码方案,节省测试短信成本
后端
Ai拆代码的曹操25 分钟前
把线程 Dump 读薄:从 BLOCKED/WAITING/RUNNABLE 到问题定位的完整方法论
后端
雪隐1 小时前
个人电脑玩AI-09让5060 Ti给你打工——让 AI 读懂你的资料
人工智能·后端
小满zs2 小时前
Go语言第一章(入门)
后端·go
用户6757049885022 小时前
Kafka 太重?试试 NSQ:一个优雅到极致的消息队列
后端·go
铁皮饭盒2 小时前
S3已成为文件存储标准,阿里/腾讯/华为云都支持,Bun率先原生支持
前端·javascript·后端
洛卡卡了2 小时前
Claude Code Hook,当 CLAUDE.md 规则不生效时,我们还需要强制拦截机制
后端·agent·claude
用户6757049885022 小时前
RabbitMQ 太重,Kafka 太复杂?Go 开发者:Asynq分布式任务队列就刚刚好
后端·go