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

相关推荐
qq_17448285751 小时前
springboot基于微信小程序的旧衣回收系统的设计与实现
spring boot·后端·微信小程序
锅包肉的九珍1 小时前
Scala的Array数组
开发语言·后端·scala
心仪悦悦1 小时前
Scala的Array(2)
开发语言·后端·scala
2401_882727572 小时前
BY组态-低代码web可视化组件
前端·后端·物联网·低代码·数学建模·前端框架
心仪悦悦2 小时前
Scala中的集合复习(1)
开发语言·后端·scala
代码小鑫3 小时前
A043-基于Spring Boot的秒杀系统设计与实现
java·开发语言·数据库·spring boot·后端·spring·毕业设计
真心喜欢你吖3 小时前
SpringBoot与MongoDB深度整合及应用案例
java·spring boot·后端·mongodb·spring
激流丶3 小时前
【Kafka 实战】Kafka 如何保证消息的顺序性?
java·后端·kafka
uzong4 小时前
一个 IDEA 老鸟的 DEBUG 私货之多线程调试
java·后端
飞升不如收破烂~4 小时前
Spring boot常用注解和作用
java·spring boot·后端