本地MinIO存储服务通过Java程序结合cpolar实现远程连接上传文件

文章目录

    • 前言
    • 1. 创建Buckets和Access Keys
    • 2. Linux 安装Cpolar
    • 3. 创建连接MinIO服务公网地址
    • 4. 远程调用MinIO服务
    • 小结
    • 5. 固定连接TCP公网地址
    • 6. 固定地址连接测试

前言

MinIO是一款高性能、分布式的对象存储系统,它可以100%的运行在标准硬件上,即X86等低成本机器也能够很好的运行MinIO。它的优点包括高性能、高可用性、易于部署和管理、支持多租户等。

Cpolar内网穿透提供了更高的安全性和隐私保护,通过使用加密通信通道,Cpolar技术可以确保数据传输的安全性,这为用户和团队提供了更可靠的保护,使他们能够放心地处理和存储敏感的工作内容。

下面介绍本地MinIO 存储服务通过Java程序结合Cpolar内网穿透进行远程连接,文件上传,如需安装MinIO,请参考这个教程:Docker 安装MinIO教程

1. 创建Buckets和Access Keys

打开minio管理界面,点击buckets界面,创建一个buckets,buckets 概念翻译过来是桶的意思,创建一个桶,把文件放入这个桶里面进行分组管理.

image-20231121132904680

输入buckets名称,点击创建

image-20231121133303436

创建好buckets后,还需要创建一个连接时候的秘钥,打开Access Keys界面,点击创建access key

image-20231121135509291

点击创建后,会生成access key 和secret key ,继续点击create创建

image-20231121140142373

然后可以看到提示这两个需要记住,连接的时候需要用到(可以复制出来),然后关闭窗口即可,创建完成这两个后,接下来安装cpolar工具,通过cpolar生成的公网地址,我们很容易实现远程连接

image-20231121140203888

2. Linux 安装Cpolar

上面创建连接需要的参数后,下面我们在Linux安装cpolar内网穿透工具,通过cpolar 转发本地端口映射的公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器.下面是安装cpolar步骤

cpolar官网地址: https://www.cpolar.com

  • 使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 向系统添加服务
sudo systemctl enable cpolar
  • 启动cpolar服务
sudo systemctl start cpolar

cpolar安装成功后,在外部浏览器上访问Linux 的9200端口即:【http://局域网ip:9200】,使用cpolar账号登录,登录后即可看到cpolar web 配置界面,结下来在web 管理界面配置即可

image-20230831171159175

3. 创建连接MinIO服务公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,注意不要与已有的隧道名称重复
  • 协议:tcp
  • 本地地址:9000 (本地默认端口)
  • 域名类型:临时随机TCP端口
  • 地区:选择China VIP

点击创建

image-20231121150737537

然后打开左侧在线隧道列表,查看刚刚创建隧道后生成的tcp地址,这个地址就是公网连接地址,我们可以在任意程序上使用该地址进行连接,下面进行远程连接上传文件测试

image-20231121150838314

4. 远程调用MinIO服务

根据官方demo,以Java 为例,导入相关包,第一个是minio包,第二个是为了防止提示okhttp版本异常,所以也导入进去

 	<!--minio 对象存储包-->
		<dependency>
			<groupId>io.minio</groupId>
			<artifactId>minio</artifactId>
			<version>8.5.7</version>
		</dependency>

		<dependency>
			<groupId>com.squareup.okhttp3</groupId>
			<artifactId>okhttp</artifactId>
			<version>4.10.0</version>
		</dependency>

然后使用Cpolar 公网地址进行连接,设置创建的公网地址和对应的端口,再设置accessKey和secretKey,指定bucket,填写需要上传文件的路径,运行,无报错表示成功

image-20231121152850162

运行完成后,打开minio管理界面,进入Object Browser,然后点击helloworld,我们创建的bucket,即可看到上传的文件,这样就表示成功了,当然,这边测试,地址是写在内部,如生产环境,建议将地址进行外部配置,有助于方便后续修改,具体更多操作方式,可以参考官方文档

image-20231121153013328

小结

为了更好地演示,我们在前述过程中使用了Cpolar生成的隧道,其公网地址是随机生成的。

这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

我一般会使用固定TCP域名,原因是我希望将地址发送给同事或客户时,它是一个固定、易记的公网地址,这样更显正式,便于流交协作。

5. 固定连接TCP公网地址

要注意的是,以上步骤使用的是随机临时tcp端口地址,所生成的公网地址为随机临时地址,该公网地址24小时内会随机变化。我们接下来为其配置固定的TCP端口地址,该地址不会变化,设置后将无需每天重复修改地址。

配置固定tcp端口地址需要将cpolar升级到专业版套餐或以上。

保留一个固定tcp地址,登录cpolar官网,点击左侧的预留,找到保留的tcp地址,我们来为我的世界保留一个固定tcp地址:

  • 地区:选择China
  • 描述:即备注,可自定义

点击保留

image-20231121153818870

地址保留成功后,系统会生成相应的固定公网地址,将其复制下来

image-20231121153849228

打开cpolar web ui管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到我们上面创建的TCP隧道,点击右侧的编辑

image-20231121153917758

修改隧道信息,将保留成功的固定tcp地址配置到隧道中

  • 端口类型:修改为固定tcp端口
  • 预留的tcp地址:填写官网保留成功的地址,

点击更新

image-20231121153943568

隧道更新成功后,点击左侧仪表盘的状态——在线隧道列表,可以看到公网地址已经更新成为了固定TCP地址。

image-20231121154007482

6. 固定地址连接测试

固定好了地址后,程序中修改成我们固定的TCP地址进行连接,当然,这边测试,地址是写在内部,如生产环境,建议将地址进行外部配置,有助于方便后续修改

image-20231121154606714

运行后,等待上传完成,然后再次打开我们管理界面,可以看到文件上传成功,这样一个固定公网地址就设置好了.

image-20231121154652442

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux shell编程学习笔记46:awk命令的由来、功能、格式、选项说明、版权、版本

0 前言 在编写Linux Shell脚本的过程中&#xff0c;我们经常要对Linux命令执行的结果进行分析和提取&#xff0c;Linux也在文本分析和提取这方面提供了不少的命令。比如我们之前研究过的cut命令。 Linux shell编程学习笔记43&#xff1a;cut命令https://blog.csdn.net/Purple…

基于R语言的影视评分影响因素实证分析(二)

在某网站抓取了百条数据,试图通过对这些数据的分析,找出电影受欢迎的因素。本案例共获取100条数据。数据详情如下: 1.数据处理及变量描述 首先对数据进行筛选处理,将不需要或者缺失变量进行剔除。 电影类型只保留第一个选项,即《唐人街探案2》的电影类型有喜剧,动作,犯罪…

transformer上手(2) —— 注意力机制

自从 2017 年 Google 发布《Attention is All You Need》之后&#xff0c;各种基于 Transformer 的模型和方法层出不穷。尤其是 2018 年&#xff0c;OpenAI 发布的 GPT 和 Google 发布的 BERT 模型在几乎所有 NLP 任务上都取得了远超先前最强基准的性能&#xff0c;将 Transfor…

苹果手机短信删除了怎么恢复?别急,教你4招恢复技巧

在日常使用中&#xff0c;由于误操作或其他原因&#xff0c;我们可能会不小心删除了重要的短信&#xff0c;这时就需要寻找合适的方法来恢复它们。短信删除了怎么恢复&#xff1f;请接着往下看&#xff01; 首先&#xff0c;不必过于紧张&#xff0c;因为苹果手机提供了一些功…

二:什么是RocketMQ

RocketMQ是阿里开源的消息中间件产品&#xff0c;纯Java开发&#xff0c;具有高吞吐量、高可用性、适合大规模分布式系统应用的特点,性能强劲(零拷贝技术)&#xff0c;支持海量堆积,在阿里内部进行大规模使用&#xff0c;适合在互联网与高并发系统中应用。 官方文档&#xff1a…

深入C语言内存:数据在内存中的存储

一、数据类型 1. unsigned&#xff1a;无符号数类型 当一个数是无符号类型时&#xff0c;那么其最高位的1或0&#xff0c;和其它位一样&#xff0c;用来表示该数的大小。 2.signed&#xff1a;有符号数类型 当一个数是有符号类型时&#xff0c;最高数称为“符号位”。符号位为1…

解决npm install安装node-sass包容易失败的问题

具体问题如下&#xff1a; npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree npm ERR! npm ERR! While resolving: XXX3.4.0 npm ERR! Found: webpack5.31.2 npm ERR! node_modules/webpack npm ERR! peer webpack”^4.0.0 || ^5.0.0″ from html-…

配置交换机 SSH 管理和端口安全——实验1:配置交换机基本安全和 SSH管理

实验目的 通过本实验可以掌握&#xff1a; 交换机基本安全配置。SSH 的工作原理和 SSH服务端和客户端的配置。 实验拓扑 交换机基本安全和 SSH管理实验拓扑如图所示。 交换机基本安全和 SSH管理实验拓扑 实验步骤 &#xff08;1&#xff09;配置交换机S1 Switch>enab…

RTThread studio 驱动开发

rtthread 驱动开发的两种情况 rtthread studio 自动生成 由 RT Thread Studio 自动生成&#xff0c;无需修改任何文件或者简单定义几个宏即可直接使用的驱动&#xff0c;如 GPIO&#xff0c;UART&#xff0c;I2C&#xff0c;SPI&#xff0c;SDIO 和 ETH 等。 使用 RT-Thread S…

快速入门Kotlin④集合

集合概述 继承关系(List、Set和Map均继承了Collection) List List 是一个接口,用于表示列表(List)数据结构。它是一个有序的集合,允许重复元素。 listOf 创建的列表是不可变的,而 mutableListOf 创建的列表是可变的,允许对其进行添加、删除和更新操作。 fun main()…

JAVA面试八股文之Redis相关

Redis相关 Redis6.0为什么要用多线程&#xff1f;在Redis中存一个list集合怎么实现排序&#xff1f;Redis的5大基本类型的底层原理&#xff1f;缓存穿透&#xff1f;缓存击穿&#xff1f;缓存雪崩&#xff1f;redis做为缓存怎么保持和mysql数据进行同步&#xff1f;&#xff08…

老子云、AMRT3D、眸瑞科技

老子云概述 老子云3D可视化快速开发平台&#xff0c;集云压缩、云烘焙、云存储云展示于一体&#xff0c;使3D模型资源自动输出至移动端PC端、Web端&#xff0c;能在多设备、全平台进行展示和交互&#xff0c;是全球领先、自主可控的自动化3D云引擎。 平台架构 平台特性 1、基…

比特币革命:刚刚开始

作者&#xff1a;Marius Farashi Tasooji 编译&#xff1a;秦晋 要充分理解比特币及其含义&#xff0c;首先必须理解什么是价值&#xff0c;什么是货币。以及是什么赋予资产价值&#xff1f; 这个问题看似愚蠢&#xff0c;但实际上非常有趣。我们的生活是由我们消费或出售的物品…

Redis的三种部署方案

文章目录 单机模式主从复制哨兵模式分片集群 在Redis中提供的集群方案总共有三种&#xff1a;单机模式&#xff0c;主从复制集群、哨兵模式&#xff0c;Redis分片集群 单机模式 Redis 只运行在一台服务器上&#xff0c;并且所有的数据都存储在这一台服务器的内存中。 主从复制…

ATF密钥生成和验签

ATF密钥生成和验签 根密钥生成 密钥的生成依赖openssl库&#xff0c;需要提前安装&#xff1a; sudo apt-get install openssl生成.pem格式的RSA4096私钥 openssl genrsa -out pri_key.pem 4096生成对应的DER格式公钥 openssl rsa -in pri_key.pem -pubout -out pub_key.der …

select详细用法

数据库版本&#xff1a;KingbaseES V008R006C008B0014 简介 SELECT语句是用于从一个或多个表中检索数据的操作&#xff0c;它作为数据库DQL语言&#xff0c;可以通过特定条件从表中检索数据。本篇文章以kingbase为例介绍select的详细用法。 文章目录如下 1. 基本语法 2. 条件…

DSP 技术基本概念及典型系统分析

1、 基本概念与典型的DSP系统 通常 DSP&#xff08;Digital Signal Processing&#xff09;是指数字信号处理。DSP 芯片是专用的数字信号处理器&#xff08;Digital Signal Processor&#xff09;&#xff0c;它采用哈佛结数、流水线作业方式的并行处理技术&#xff0c;有专用…

三、SpringBoot3 整合 SpringMVC

本章概要 实现过程web 相关配置静态资源处理自定义拦截器(SpringMVC 配置) 3.1 实现过程 创建程序引入依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www…

【算法统治世界】动态规划 个人笔记总结

&#x1f389;&#x1f389;欢迎光临&#x1f389;&#x1f389; &#x1f3c5;我是苏泽&#xff0c;一位对技术充满热情的探索者和分享者。&#x1f680;&#x1f680; &#x1f31f;特别推荐给大家我的最新专栏《数据结构与算法&#xff1a;初学者入门指南》&#x1f4d8;&am…

中仕公考:2024山东事业编笔试成绩已出!

2024年山东省事业编笔试成绩查询入口于4约8日已经开放&#xff0c;考生可以登录入口查询笔试成绩。 山东16地市除菏泽以外均有县区参加此次310事业单位统考&#xff0c;成绩查询入口及进面名单等分地市分县区发布&#xff0c;考生可关注报考当地人民政府网站。笔试成绩查询后&…