【Docker】搭建实用的内网穿透工具 - FRP

前言

本教程基于群晖的NAS设备DS423+docker功能进行搭建FRP的客户端,DSM版本为 7.2.1-69057 Update 5。采用香港机Debian 12系统的服务器来安装FRP的服务端作为演示。

服务器购买地址:https://www.crash.work/aff/AQXGDNKY

简介

FRP(Fast Reverse Proxy)是一个高性能的反向代理应用,它可以帮助您将内网服务通过反向代理暴露到公网上。FRP使用Go语言编写,具有跨平台的特性,可以在多种操作系统上运行。以下是FRP的一些主要特点:

  1. 多协议支持:FRP支持多种协议,包括HTTP、HTTPS、TCP、UDP等,使得它可以代理多种类型的服务。

  2. 端口映射:FRP可以将内网服务的端口映射到公网,使得用户可以通过公网访问内网服务。

  3. 加密通信:FRP支持TLS/SSL加密,可以保证数据传输的安全性。

  4. 身份验证:FRP提供了多种身份验证方式,包括Token、HTTP Basic Auth等,以增强安全性。

  5. 插件系统:FRP具有插件系统,允许开发者自定义功能,如日志记录、认证等。

  6. Web管理界面:FRP提供了一个Web管理界面,方便用户监控和管理代理服务。

  7. 配置简单:FRP的配置文件简单明了,易于设置和管理。

  8. 高可用性:FRP支持服务的高可用性配置,可以设置多个服务器进行负载均衡。

  9. 跨平台:由于FRP是用Go语言编写的,它可以在Windows、Linux、MacOS等多种操作系统上运行。

FRP通常用于以下场景:

  • 内网穿透,允许远程访问内网服务。

  • 负载均衡,将流量分发到多个服务器。

  • 服务的安全性增强,通过代理进行加密和身份验证。

FRP是一个开源项目,可以在GitHub上找到其源代码和文档。

部署

1Panel

为了方便,我将先部署一个1Panel来作为管理面板,然后在此基础上安装Frps。

环境要求

安装前请确保您的系统符合安装条件:

  • 操作系统:支持主流 Linux 发行版本(基于 Debian / RedHat,包括国产操作系统);

  • 服务器架构:x86_64、aarch64、armv7l、ppc64le、s390x;

  • 内存要求:建议可用内存在 1GB 以上;

  • 浏览器要求:请使用 Chrome、FireFox、IE10+、Edge等现代浏览器;

  • 可访问互联网。

安装部署
  1. 使用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/51470.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OSError: You are trying to access a gated repo.解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

『 Linux 』用户态与内核态的转换机制及信号检测时机

文章目录 用户态与内核态进程地址空间操作系统的本质 信号的处理时机 用户态与内核态 进程在执行代码的过程中代码必定涉及用户代码,库函数代码及操作系统内核代码; 以简单的printf()函数为例,该函数必定为先执行用户的代码即知道需要调用printf()函数,再执行库(如libc)中的代码…

这六种灯千万别买了!看你踩了几个坑

雅静说啥样的灯买了才发现是个坑      给你说6个,安上就会后悔的      1,这些变色的灯就别要了,说的是三色温灯,买回家才发现      它的白光,暖光,中性光,我们习惯只用一种,开,关,开,关,开5次      才能调到自己想要的档位,不想患上关节炎就别买这种了     …

Java线程同步与通信:wait(), notify(), notifyAll(), sleep()

Java线程同步与通信:wait(), notify(), notifyAll(), sleep() 1. wait()2. notify()3. notifyAll()4. sleep()4、总结 💖The Begin💖点点关注&…

一文带你读懂TCP

文章目录 1 TCP协议1.1 TCP 基础1.1.1 TCP 特性1.2.2 TCP连接数 1.2 TCP 头1.2.1 TCP 头格式1.2.2 MTU,MSS,分片传输 1.3 TCP 连接三路握手1.4 TCP 断开四次挥手1.5 SYN攻击和防范1.6 重传机制1.6.1 超时重传1.6.2 快速重传1.6.3 SACK 1.7 滑动窗口1.8 流…

微信小程序根据动态权限展示tabbar

微信小程序自定义 TabBar 后根据权限动态展示tabbar 在微信小程序开发中,自定义 TabBar 可以让应用更具灵活性和个性化。特别是在用户根据不同权限展示不同的 TabBar 内容时,正确的实现方法能够提升用户体验。本篇文章将分享如何使用事件总线实现权限变动时动态更新自定义 T…

软件环境安装-通过Docker安装rabbitmq

软件环境安装-通过Docker安装rabbitmq 一、拉取镜像二、启动三、安装延迟队列插件 一、拉取镜像 docker pull rabbitmq:3.9.0-management二、启动 docker run -d --namerabbitmq --restartalways -p 5672:5672 -p 15672:15672 rabbitmq:3.9.0-management 三、安装延迟队列插…

Linux基础复习(二)

前言 本文介绍了一下Linux命令行基本操作及网络配置 一、 命令行提示含义 [当前用户主机名 工作目录]$ 若当前用户是root,则最后一个字符为# 否则,最后一个字符为$ 二、常用Linux命令及其解释 修改主机名 一般在创建一台主机后会使用hostname相关命…

在生信分析中大家需要特别注意的事情​

在生信分析中大家需要特别注意的事情 标准的软件使用和数据分析流程 1. 先看我的b站教学视频 2. 先从我的百度网盘把演示数据集下载下来,先把要运行的模块的演示数据集先运行一遍 3. 前两步都做完了,演示数据集也运行成功了,并且知道了软件…

服务器构建私有npm库(Docker + Verdaccio)

npm官网有时候因为网络原因包推不上去,那就简单构建个私有库 私有库不会被共享,且配置不需要太高1h2G就行 1.需要安装Docker,这个跳过了 2.生成配置文件 mkdir /home/verdaccio cd /home/verdaccio mkdir conf && mkdir storage &am…

ajax请求成功但不执行success-function回调函数

目录 一、问题分析 二、处理问题 一、问题分析 在测试员工管理系统的登录和注册代码时,登录一切正常,就是注册成功后没有跳转页面,后面发现是success-function回调函数没有正常执行。原因主要是前端和后端交流的数据格式不一致,…

【C++BFS算法 二分查找】2812. 找出最安全路径

本文涉及知识点 CBFS算法 C二分查找 LeetCode2812. 找出最安全路径 给你一个下标从 0 开始、大小为 n x n 的二维矩阵 grid ,其中 (r, c) 表示: 如果 grid[r][c] 1 ,则表示一个存在小偷的单元格 如果 grid[r][c] 0 ,则表示一…

Windows配置AirSim过程(学习过程)

一、概述 因为需要在虚幻引擎当中使用AirSim,在Windows系统上进行操作,根据官方网站的操作过程,进行了配置,这里作为自己配置过程的记录。 二、具体过程 (一)系统版本 操作系统是Windows11,Ai…

go编译执行文件

1、如果进行单个文件编译go build xxx.go 2、批文件编译 不实际编译它,只输出它的编译过程: 1 go build -n 简单的编译过程分析: 上面的过程确认了两个事情: Runtime会永远随着用户代码一起编译在windows平台上编译出来了一…

昇思MindSpore 应用学习-RNN实现情感分类-CSDN

RNN实现情感分类 AI代码解析 概述 情感分类是自然语言处理中的经典任务,是典型的分类问题。本节使用MindSpore实现一个基于RNN网络的情感分类模型,实现如下的效果: 输入: This film is terrible 正确标签: Negative 预测标签: Negative输入…

HALCON如何创建本地函数

HALCON中有本地函数(.hdev)、外部函数(HDevelop函数文件.hdvp)和库函数(.hdpl) 本地函数(.hdev):创建后仅在当前程序文件中使用; 外部函数(HDevelop函数文件.hdvp):创建后可以在其他程序文件中复用,默认保存在…/ procedures/下…

vue实现滚动条下滑时隐藏导航栏,上滑时显示导航栏

效果展示 思路 监听滚动事件,记录上次的滚动距离,与最新滚动距离做对比,如果为正,说明滚动距离距顶值scrollTop变大,用户正在向下滚动页面,此时隐藏,反之则反,隐藏就是top值给他负导…

【Qt和OpenCV 概述】

Qt和OpenCV(Open Source Computer Vision Library)都是广泛用于计算机视觉应用的强大工具,而将它们结合使用,可以在Qt应用程序中实现复杂的视觉处理功能。Qt是跨平台的GUI库,而OpenCV则是专为计算机视觉任务设计的库。下面是Qt和OpenCV结合使用的一些概述: 为什么结合使…

为什么需要第三方支付

1.第三方支付平台提供一系列的应用接口程序,将多种银行卡支付方式整合到一个界面上,负责交易结算中与银行的对接,使网上购物更加快捷、便利。第三方支付整合了后端各大银行的不同支付接口,对外提供统一的接入平台,方便…

【C++语言】C++11新特性(1)

一、统一的列表初始化 1.1 {} 初始化 在C98中,标准允许使用花括号{}对数组或者结构体元素进行统一的列表初始值设定。比如: struct Point {int _x;int _y; };int main() {int array1[] { 1, 2, 3, 4, 5 };int array2[5] { 0 };Point p { 1, 2 };ret…