惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

K
Kaspersky official blog
Martin Fowler
Martin Fowler
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
V
Visual Studio Blog
博客园_首页
Engineering at Meta
Engineering at Meta
The Cloudflare Blog
MongoDB | Blog
MongoDB | Blog
Blog — PlanetScale
Blog — PlanetScale
T
The Blog of Author Tim Ferriss
雷峰网
雷峰网
D
Docker
博客园 - 司徒正美
S
SegmentFault 最新的问题
M
MIT News - Artificial intelligence
博客园 - 叶小钗
博客园 - 三生石上(FineUI控件)
U
Unit 42
J
Java Code Geeks
A
About on SuperTechFans
N
Netflix TechBlog - Medium
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
S
Security Affairs
I
Intezer
Cisco Talos Blog
Cisco Talos Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
B
Blog RSS Feed
P
Privacy & Cybersecurity Law Blog
T
Tenable Blog
T
Threatpost
H
Hacker News: Front Page
G
Google Developers Blog
博客园 - 【当耐特】
Hugging Face - Blog
Hugging Face - Blog
Apple Machine Learning Research
Apple Machine Learning Research
L
Lohrmann on Cybersecurity
大猫的无限游戏
大猫的无限游戏
Google DeepMind News
Google DeepMind News
A
Arctic Wolf
S
Secure Thoughts
GbyAI
GbyAI
NISL@THU
NISL@THU
S
Security @ Cisco Blogs
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Webroot Blog
Webroot Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
O
OpenAI News
Spread Privacy
Spread Privacy
Application and Cybersecurity Blog
Application and Cybersecurity Blog

帮开心

Chrome浏览器 “此扩展程序不再受支持,因此已停用” 解决方案 - 帮开心 docker安装sqlserver2022带全文搜索FTS - 帮开心 Minio不配置MINIO_DOMAIN的影响 - 帮开心 ruoyi-cloud-plus中获取getinfo超时是oss问题 - 帮开心 JAVA程序员玩群晖NAS之通过ACME自动申请部署群晖7.2的SSL证书 - 帮开心 群晖安装minio一直无限重启 - 帮开心 unraid安装win11或者win10报错uefi interactiver shell v2.2 - 帮开心 docker拉取harbor仓库带秘钥 - 帮开心 IntelliJ Webstrom升级2023.1后使用新UI后中无法识别package.json里面定义的脚本? - 帮开心 windows升级更新后安全中心打不开 - 帮开心 Vue报错error:0308010C:digital envelope routines::unsupported的解决方法 - 帮开心 java开源后台管理项目整理 - 帮开心 Star Charts:记录GitHub 项目Star 变化趋势工具 - 帮开心 Icons图标项目合集 - 帮开心 免费编程学习网站freeCodeCamp-----------真的不错 - 帮开心 推荐一个可以下载各种版本JDK的网站 - 帮开心 分享华硕ACRH17的固件和遇见的坑 - 帮开心 linux(centos/龙蜥)安装harbor并配置ssl - 帮开心
memos从0.21更新到0.22后minio对象存储问题 - 帮开心
帮开心 · 2024-11-27 · via 帮开心

大家好,我是开心哥!

memos更新到0.22.0版本后,配置的存储策略minio忽然不能用了,上去一看,少了url相对应的字段信息,去github上找解决方案,看着很多人提出问题,但是官方没有给到解决方案,很是不理解,用的好好的怎么忽然就更新了呢;

在刚开始我也曾各种尝试其他方式绕过去,发现都不好使,媳妇又经常用,迫不得已我先恢复着用0.21版本,想着后期在想办法吧;

近期,想着看看这个问题解决了没有,在github上查了很久,看到了一条我无法拒绝的理由,安全,memos成员的回复(点击查看)让我了解到他们是不会改变的,安全问题确实让我们无言以对;

然后在各种issue里边找方案,还真找到几种方案,有大神都验证过了,切实可用,我在参考他们的方案后,自己融合了一下,最后形成了一种适合自己的方案。

1、环境介绍

全都是https域名+端口号访问方式

minio

docker安装的minio,并做反向代理+ssl证书

memos

docker安装的memos,并做反向代理+ssl证书

2、memos安装操作

升级

如果是升级memos,最好是从0.21升级到0.22.0版本,然后一个小版本小版本升级确认是否可用,我直接升级到latest,干崩了,后来一个一个版本升级的,现在用的是0.22.5。

从0.21升级到0.22.0后,tag标签需要重新生成一下

安装

就是正常的安装,重点在配置minio

注意:

memos0.22大版本使用mysql会出现官方未修复错误

failed to create resource: Error 1406 (22001): Data too long for column 'reference' at row 1

解决办法:

ALTER TABLE resource MODIFY COLUMN reference TEXT;

2、minio安装操作(重点)

Path style 和 Virtual hosted style 是 S3 存储服务 URL 的两种构建方式。

在memos0.21版本的时候,s3对象存储(minio)中用的是Path style的URL构建方式,Bucket是在后边拼接,一个域名就能搞定例如我的域名是https://minio.bangkaixin.com:9001,Bucket是memos,那么在我们请求的时候他是类似https://minio.bangkaixin.com:9001/memos的格式;

而在memos0.22.0版本升级后,s3对象存储(minio)中用的是 Virtual hosted style的URL构建方式,Bucket会拼接在Endpoint的前边,例如我的域名是https://minio.bangkaixin.com:9001,Bucket是memos,请求的时候就是https://memos.minio.bangkaixin.com:9001;

我一开始想着无非就是多一个域名解析就可以了,尝试过后,发现还是不行,最后查询与尝试后发现需要在创建minio的时候添加上MINIO_DOMAIN环境变量,也就是需要支持Virtual hosted style的URL构建方式

我们如果想在memos0.22.0版本后使用s3对象存储(minio),需要增加环境变量MINIO_DOMAIN,让minio支持Virtual hosted style的访问方式(Minio不配置MINIO_DOMAIN的影响);

假如我们平常访问minio的时候域名为https://minio.bangkaixin.com:9001,我们需要设置MINIO_DOMAIN字段为minio.bangkaixin.com就可已使用;

按照要求安装好minio后,剩下的就是配置域名证书了

最好使用可以自动续时间的域名证书管理工具;

假如我们在minio存储memos附件的Bucket是memos

memos0.21版本时,我们的minio只需要一个域名就可以,minio.bangkaixin.com

memos0.22.0版本后,我们的minio需要两个域名minio.bangkaixin.com,memos.minio.bangkaixin.com,申请证书的时候申请多域名证书即可,通配符证书我试着不能使用。

例如我这用acme.sh在群晖上申请了多域名证书,两个域名都可以使用

也用1panel上申请多域名证书尝试确认都可以使用。

在这两个平台上我都是做了一层反向代理,指向本地或者其他ip的minio服务,都很好用。

3、在memos上配置使用s3对象存储(minio)

就是正常填写即可

填完正常使用即可,别忘了改memos中reference 字段的大小