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的控制台观察执行情况。

相关推荐
沃夫上校2 小时前
Feign调Post接口异常:Incomplete output stream
java·后端·微服务
LeeGe2 小时前
SpringAOP中@within和@annotation以及 @within和@target的区别
后端
一个平平无奇的Java小学生2 小时前
Spring Cloud Alibaba 微服务从入门到生产部署完整指南
后端
一个平平无奇的Java小学生2 小时前
Spring Cloud Alibaba 微服务实战指南
后端
张小洛2 小时前
Spring IOC容器核心阶段解密:★Bean实例化全流程深度剖析★
java·后端·spring·ioc容器·bean实例化
小王子10242 小时前
Django+DRF 实战:从异常捕获到自定义错误信息
后端·django·web开发
hdsoft_huge2 小时前
Spring Boot 高并发框架实现方案:数字城市的奇妙之旅
java·spring boot·后端
00后程序员3 小时前
WebView 无法调用原生分享功能?调试复现与异常排查全过程
后端
struggleupwards3 小时前
go-cache 单机缓存
后端
struggleupwards3 小时前
golang 实现删除切片特定下标元素的方法
后端