更新到 v3.1.17 后 S3 同步错误

截屏 2024122812.45.15.png

系统是 MacOS M1,和之前的版本一样更新,未对 S3 配置做任何修改,并且其它设备 3.1.16 的版本同步正常,是阿里云的桶。不知道有人遇到一样的问题吗,有解决方案吗?谢谢 ~

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    23281 引用 • 93949 回帖 • 2 关注
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    8597 引用 • 39219 回帖 • 146 关注

相关帖子

被采纳的回答
优质回帖
  • Whacka 1 赞同

    感谢测试,我感觉从反馈信息来看应该是前后端计算签名的方法或者参数不一致导致的,比如签名公式的版本(v4?)。

  • lundqhx 1

    我根据这篇博文和 minio 官方文档设置了 Nginx 的相关配置,还是不行。

    我也用了 cloudFlare 管理域名,然后我把 minio api 的子域名的 proxy(橙色云)关闭之后,就可以正常同步了!

  • Whacka 1

    使命感油然而生,然而我折腾了几天之后还是决定放弃了,我改用 CloudFlare R2 作为主要同步服务器,群晖上用 rclone 定期同步数据做备份。

    我的环境:

    服务器:群晖 Docker MinIO(还是 24 年中的版本,Docker Hub 被禁用之后我不会升级版本。。。),没有公网 ip 所以选择 CloudFlare Tunnel 做内网穿透。

    客户端:MacBookPro Intel 版本,思源 3.1.18。

    我的一些观察:

    1. 我 blame 了一下思源里 S3 获取 Buckets 列表相关的代码,这部分于 2 周前更新了亚马逊的 sdk v2 版本。在亚马逊的 github 里看到 ListBuckets 函数调用了 c 的函数,具体的签名过程我不知道从哪里查看。
    2. 在 CloudFlare Tunnel 的监听界面里可以获取到访问记录的 http url 和 headers,我对比了 3.1.17 和 3.1.16(iOS)点击“设置”时访问的获取 Buckets 列表操作的记录,发现 url 有比较大的不同,3.1.17 的 url 是 GET https://minioapi.example.com/?x-id=ListBuckets HTTP/1.1,而 3.1.16 则是 GET https://minioapi.example.com/ HTTP/1.1;headers 内容略有不同,但其中非常关键的信息是 X-Amz-Date(例如 20241231T133058Z),这是一个 UTC 时间精确到秒,在相关文档里明确说了这条目是签名认证的关键信息,我用 CloudFlare Rules 调整了一下这个时间果然得到了明确的新的错误信息(格式不正确,或者时间相差太多),但这个条目与我遇到的问题应该没啥关系,因为两个版本发送的 header 里都有它。另一个关键的 header 就是 X-Forwarded-For,然而 CloudFlare Rules 里不允许修改这条的内容,因此我无法确认是否因为 CloudFlare 在代理转发过程中篡改了内容导致签名失败。

    image.png

    image.png

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 千万不要启用 CDN,否则会影响数据同步的一致性。

    1 回复
  • 其他回帖
  • 感谢,试了修改 minio 服务器 Region 为 us-east-1,思源里也同步修改,点击云端同步设置的按钮,依然这个错误:

    • operation error S3: ListBuckets, https response error StatusCode: 403, RequestID: 18155F8868F8569E, HostID: dd9025bab4ad464b049177c95eb6ebf374d3b3fd1af9251148b658df7ac2e3e8, api error SignatureDoesNotMatch: The request signature we calculated does not match the signature you provided. Check your key and signing method. (Provider: S3)
    1 回复
  • lundqhx

    我也出现同样的问题。已经升级为最新的 minio 版本。同时地区也设置为默认的 us-east-1

    image.png

    1 回复
  • 明白了,但我尝试在 CF Bypass 所有缓存,依然得到之前的结果(签名不匹配)。

    image.png

    1 回复
  • 查看全部回帖

推荐标签 标签

  • Thymeleaf

    Thymeleaf 是一款用于渲染 XML/XHTML/HTML5 内容的模板引擎。类似 Velocity、 FreeMarker 等,它也可以轻易的与 Spring 等 Web 框架进行集成作为 Web 应用的模板引擎。与其它模板引擎相比,Thymeleaf 最大的特点是能够直接在浏览器中打开并正确显示模板页面,而不需要启动整个 Web 应用。

    11 引用 • 19 回帖 • 370 关注
  • QQ

    1999 年 2 月腾讯正式推出“腾讯 QQ”,在线用户由 1999 年的 2 人(马化腾和张志东)到现在已经发展到上亿用户了,在线人数超过一亿,是目前使用最广泛的聊天软件之一。

    45 引用 • 557 回帖 • 33 关注
  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    546 引用 • 674 回帖
  • danl
    149 关注
  • SOHO

    为成为自由职业者在家办公而努力吧!

    7 引用 • 55 回帖 • 2 关注
  • Mobi.css

    Mobi.css is a lightweight, flexible CSS framework that focus on mobile.

    1 引用 • 6 回帖 • 749 关注
  • 代码片段

    代码片段分为 CSS 与 JS 两种代码,添加在 [设置 - 外观 - 代码片段] 中,这些代码会在思源笔记加载时自动执行,用于改善笔记的样式或功能。

    用户在该标签下分享代码片段时需在帖子标题前添加 [css] [js] 用于区分代码片段类型。

    93 引用 • 624 回帖
  • JetBrains

    JetBrains 是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄国的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是 Java 编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA

    18 引用 • 54 回帖 • 4 关注
  • Google

    Google(Google Inc.,NASDAQ:GOOG)是一家美国上市公司(公有股份公司),于 1998 年 9 月 7 日以私有股份公司的形式创立,设计并管理一个互联网搜索引擎。Google 公司的总部称作“Googleplex”,它位于加利福尼亚山景城。Google 目前被公认为是全球规模最大的搜索引擎,它提供了简单易用的免费服务。不作恶(Don't be evil)是谷歌公司的一项非正式的公司口号。

    49 引用 • 192 回帖
  • Notion

    Notion - The all-in-one workspace for your notes, tasks, wikis, and databases.

    7 引用 • 40 回帖
  • CodeMirror
    1 引用 • 2 回帖 • 131 关注
  • 30Seconds

    📙 前端知识精选集,包含 HTML、CSS、JavaScript、React、Node、安全等方面,每天仅需 30 秒。

    • 精选常见面试题,帮助您准备下一次面试
    • 精选常见交互,帮助您拥有简洁酷炫的站点
    • 精选有用的 React 片段,帮助你获取最佳实践
    • 精选常见代码集,帮助您提高打码效率
    • 整理前端界的最新资讯,邀您一同探索新世界
    488 引用 • 384 回帖 • 4 关注
  • 支付宝

    支付宝是全球领先的独立第三方支付平台,致力于为广大用户提供安全快速的电子支付/网上支付/安全支付/手机支付体验,及转账收款/水电煤缴费/信用卡还款/AA 收款等生活服务应用。

    29 引用 • 347 回帖
  • 阿里云

    阿里云是阿里巴巴集团旗下公司,是全球领先的云计算及人工智能科技公司。提供云服务器、云数据库、云安全等云计算服务,以及大数据、人工智能服务、精准定制基于场景的行业解决方案。

    89 引用 • 345 回帖
  • IDEA

    IDEA 全称 IntelliJ IDEA,是一款 Java 语言开发的集成环境,在业界被公认为最好的 Java 开发工具之一。IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。

    181 引用 • 400 回帖
  • CAP

    CAP 指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。

    11 引用 • 5 回帖 • 613 关注
  • Netty

    Netty 是一个基于 NIO 的客户端-服务器编程框架,使用 Netty 可以让你快速、简单地开发出一个可维护、高性能的网络应用,例如实现了某种协议的客户、服务端应用。

    49 引用 • 33 回帖 • 24 关注
  • 阿里巴巴

    阿里巴巴网络技术有限公司(简称:阿里巴巴集团)是以曾担任英语教师的马云为首的 18 人,于 1999 年在中国杭州创立,他们相信互联网能够创造公平的竞争环境,让小企业通过创新与科技扩展业务,并在参与国内或全球市场竞争时处于更有利的位置。

    43 引用 • 221 回帖 • 98 关注
  • Openfire

    Openfire 是开源的、基于可拓展通讯和表示协议 (XMPP)、采用 Java 编程语言开发的实时协作服务器。Openfire 的效率很高,单台服务器可支持上万并发用户。

    6 引用 • 7 回帖 • 97 关注
  • 人工智能

    人工智能(Artificial Intelligence)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门技术科学。

    138 引用 • 203 回帖
  • Spark

    Spark 是 UC Berkeley AMP lab 所开源的类 Hadoop MapReduce 的通用并行框架。Spark 拥有 Hadoop MapReduce 所具有的优点;但不同于 MapReduce 的是 Job 中间输出结果可以保存在内存中,从而不再需要读写 HDFS,因此 Spark 能更好地适用于数据挖掘与机器学习等需要迭代的 MapReduce 的算法。

    74 引用 • 46 回帖 • 563 关注
  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    407 引用 • 3575 回帖
  • 酷鸟浏览器

    安全 · 稳定 · 快速
    为跨境从业人员提供专业的跨境浏览器

    3 引用 • 59 回帖 • 21 关注
  • Electron

    Electron 基于 Chromium 和 Node.js,让你可以使用 HTML、CSS 和 JavaScript 构建应用。它是一个由 GitHub 及众多贡献者组成的活跃社区共同维护的开源项目,兼容 Mac、Windows 和 Linux,它构建的应用可在这三个操作系统上面运行。

    15 引用 • 136 回帖 • 1 关注
  • SQLite

    SQLite 是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是全世界使用最为广泛的数据库引擎。

    5 引用 • 7 回帖 • 4 关注
  • 创造

    你创造的作品可能会帮助到很多人,如果是开源项目的话就更赞了!

    178 引用 • 997 回帖
  • Hexo

    Hexo 是一款快速、简洁且高效的博客框架,使用 Node.js 编写。

    21 引用 • 140 回帖 • 8 关注