(亲测)frp对外提供简单的文件访问服务-frp静态文件效果

话说有一天,希望将软件安装包放到网上,希望类似如下效果,正好在调试frp docker版,看到frp有个【对外提供简单的文件访问服务】功能,网上搜索也没相关效果图,所以顺手测试一下,截了几张图,就有了这篇文章。

在这里插入图片描述

先说结论:

  • frp的文件访问服务,有点意思,可以将本地电脑的某个文件夹,作为简单文件下载服务,也可以当作简单的Web服务,放html、css、js、png等前端资源文件。
  • 还可以跟APISQL结合使用,更有意思,将本地数据库(或局域网的数据库)转为公网可以访问的API。
  • frp放前端 + apisql调后端,前后端都在本地电脑,不用重复上传代码到服务器,并且都是互联网实时访问,那是一种很神奇的体验。
  • 还有一点感悟,调试时,没事不要整frp docker版,有点绕,frp已经很绿色了,再加docker有点画蛇添足。除非自己知道自己在干什么,例如为了简化一推微服务,在docker compose中使用frp docker版。

测试记录如下:

一、frps服务器端:

服务器端docker-compose.yml配置文件

[root@vm frps]# cat docker-compose.yml 
version: '3.9'
services:frps:image: fatedier/frps:v0.61.0hostname: frpscontainer_name: frpsvolumes:- "./frps.toml:/frps.toml"command:- "-c"- "/frps.toml"network_mode: "host"
[root@vm frps]# 

服务器端frps.toml配置文件

[root@vm ~]# cat frps.toml 
bindPort = 5000
auth.token = "Password"
[root@vm ~]# 

重启并查看日志

docker compose up -d && docker logs frps

二、客户端如下

客户器端docker-compose.yml配置文件

root@armbian:~# cat docker-compose.yml 
version: '3.9'
services:frpc:image: fatedier/frpc:v0.61.0hostname: frpccontainer_name: frpcvolumes:- "./frpc.toml:/frpc.toml"command:- "-c"- "/frpc.toml"network_mode: "host"

客户端frpc.toml配置文件

root@armbian:~# cat frpc.toml
serverAddr = "182.xx.xx.xx"
serverPort = 5000
auth.token = "Password"[[proxies]]
name = "test_static_file1459"
type = "tcp"
remotePort = 8000
[proxies.plugin]
type = "static_file"
localPath = "/tmp"
httpUser = "abc"
httpPassword = "abc"
root@armbian:~# 

经常修改配置文件,停止、重动、查看日志一条命令方便些

docker compose down && docker compose up -d && docker logs frpc

在这里插入图片描述

用户名abc、密码abc登陆效果
在这里插入图片描述

这是以开始客户端配置为【./】时,看到了容器的根目录

type = "static_file"
localPath = "./"

在这里插入图片描述

进入了容器etc目录,看到有目录,也有文件
在这里插入图片描述

文件还可以直接被查看
在这里插入图片描述

后面将客户端配置改为

type = "static_file"
localPath = "/tmp"

并向容器复制了几个文件

root@armbian:/tmp# ls
1.html
1.jpeg

在这里插入图片描述

可以访问到html文件
在这里插入图片描述

可以访问图片文件
在这里插入图片描述

后面放了index.html文件,http://xx.xx.xx.xx:8000,能默认index.html文件
在这里插入图片描述

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

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

相关文章

基于YOLOV5+Flask安全帽RTSP视频流实时目标检测

1、背景 在现代工业和建筑行业中,安全始终是首要考虑的因素之一。特别是在施工现场,工人佩戴安全帽是确保人身安全的基本要求。然而,人工监督难免会有疏漏,尤其是在大型工地或复杂环境中,确保每个人都佩戴安全帽变得非…

LabVIEW数字式气压计自动检定系统

开发了一个基于LabVIEW开发的数字式气压计自动检定系统。在自动化检定PTB220和PTB210系列数字气压计,通过优化硬件组成和软件设计,实现高效率和高准确度的检定工作,有效降低人力成本并提升操作准确性。 项目背景 随着自动气象站的广泛部署&a…

FPGA的DMA应用——pcileech

硬件通过pcie总线,访存本机的内存,并进行修改,可以进行很多操作。 学习视频:乱讲DMA及TLP 1-pcileech项目简介和自定义模块介绍_哔哩哔哩_bilibili vivado2024.1的下载文章链接和地址:AMD-Xilinx Vivado™ 2024.1 现…

【漫话机器学习系列】022.微积分中的链式求导法则(chain rule of Calculus)

链式求导法则(Chain Rule of Calculus) 链式求导法则是微积分中的重要工具,用于处理复合函数的求导。它描述了如何计算一个函数的函数(复合函数)的导数。 1. 链式法则的定义 假设有一个复合函数 y f(g(x))&#xff…

TP5 动态渲染多个Layui表格并批量打印所有表格

记录: TP5 动态渲染多个Layui表格每个表格设置有2行表头,并且第一行表头在页面完成后动态渲染显示内容每个表格下面显示统计信息可点击字段排序一次打印页面上的所有表格打印页面上多个table时,让每个table单独一页 后端代码示例: /*** Nod…

开发微信小程序的过程与心得

起因 作为家长,我近期参与了学校的护学岗工作。在这个过程中,我发现需要使用水印相机来记录护学活动,但市面上大多数水印相机应用都要求开通会员才能使用完整功能。作为一名程序员,我决定利用自己的技术背景,开发一个…

新建一个springboot项目

注意版本注意版本注意版本!!! 参考: 我的IDEA 2022.2.3 是通过IDEA内嵌的功能来完成该项目的创建的。 一、创建 其实按截图走就够了,别弄的太麻烦了。 注意版本 注意,springboot的版本要是最新的&…

机器视觉检测相机基础知识 | 颜色 | 光源 | 镜头 | 分辨率 / 精度 / 公差

注:本文为 “keyence 视觉沙龙中机器视觉检测基础知识” 文章合辑。 机器视觉检测基础知识(一)颜色篇 视觉检测硬件构成的基本部分包括:处理器、相机、镜头、光源。 其中,和光源相关的最重要的两个参数就是光源颜色和…

7. petalinux 根文件系统配置(package group)

根文件系统配置(Petalinux package group) 当使能某个软件包组的时候,依赖的包也会相应被使能,解决依赖问题,在配置页面的help选项可以查看需要安装的包 每个软件包组的功能: packagegroup-petalinux-audio包含与音…

接口测试Day03-postman断言关联

postman常用断言 注意:不需要手敲,点击自动生成 断言响应状态码 Status code:Code is 200 //断言响应状态码为 200 pm.test("Status code is 200", function () {pm.response.to.have.status(200); });pm: postman的实例 test() …

Python vs PHP:哪种语言更适合网页抓取

本文将比较 Python 和 PHP,以帮助读者确定哪种语言更适合他们的需求。文章将探讨两种语言的优点和缺点,并根据读者的经验水平分析哪种语言可能更容易上手。接下来,文章将深入探讨哪种语言在抓取网页数据方面更胜一筹。 简而言之,…

五分钟学会如何在GitHub上自动化部署个人博客(hugo框架 + stack主题)

上一篇文章: 10分钟学会免费搭建个人博客(Hugo框架 stack主题) 前言 首先,想要实现这个功能的小伙伴需要完成几个前置条件: 有一个GitHub账号安装了git,并可以通过git推送commit到GitHub上完成第一篇文章…

开发过程中的AI插件推荐

在ChatGPT日渐火爆的当下,开发工具中的各种AI插件也日渐成熟,在开发过程中能给予我们很大的助力,并大幅节省研发时间和成本,所以学会学会使用AI目前已算是必不可少的技能了。 一. CodeGeex(智谱清言) CodeGeeX是智谱AI旗下一款基…

鸿蒙之路的坑

1、系统 Windows 10 家庭版不可用模拟器 对应的解决方案【坑】 升级系统版本 直接更改密钥可自动升级系统 密钥找对应系统的(例:windows 10专业版) 升级完之后要激活 坑1、升级完后事先创建好的模拟器还是无法启动 解决:删除模拟…

企业销售人员培训系统|Java|SSM|VUE| 前后端分离

【技术栈】 1⃣️:架构: B/S、MVC 2⃣️:系统环境:Windowsh/Mac 3⃣️:开发环境:IDEA、JDK1.8、Maven、Mysql5.7 4⃣️:技术栈:Java、Mysql、SSM、Mybatis-Plus、VUE、jquery,html 5⃣️数据库可…

C 实现植物大战僵尸(一)

C 实现植物大战僵尸(一) 对应资源链接,C语言项目:完整版植物大战僵尸 以下内容为个人实现版,与原 UP 主项目代码内容有出入,提高了些可读和简洁性 一 创建主场景 安装 easyx 库,easyx 官网 …

SQL创建和操纵表

本文介绍创建、更改和删除表的基本知识。 1. 创建表 SQL 不仅用于表数据操纵,而且还用来执行数据库和表的所有操作,包括表本身的创建和处理。一般有两种创建表的方法: 多数DBMS 都具有交互式创建和管理数据库表的工具;表也可以…

Java开发经验——数据库开发经验

摘要 本文主要介绍了Java开发中的数据库操作规范,包括数据库建表规范、索引规约、SQL规范和ORM规约。强调了在数据库设计和操作中应遵循的最佳实践,如字段命名、数据类型选择、索引创建、SQL语句编写和ORM映射,旨在提高数据库操作的性能和安…

NTLM 中继到 LDAP 结合 CVE-2019-1040 接管全域

目录 LDAP中继 LDAP签名 CVE-2019-1040 NTLM MIC 绕过漏洞 漏洞背景 漏洞利用链 利用方式 1:配置基于资源的约束委派-攻击域控 利用方式 2:攻击 Exchange Exchange windows permissions 组介绍 复现 LDAP中继 LDAP(轻量级目录访问协…

如何通过采购管理系统实现智能化采购?

随着人工智能、大数据等技术的快速发展,采购管理逐步迈入智能化时代。智能化采购不仅提升了效率,还为企业提供了更精准的采购决策支持。本文将从智能化采购的优势出发,探讨采购管理系统如何助力企业实现这一目标。 文中用到的采购管理系统&a…