思源笔记配置Picgo+Cloudflare R2图床

前言

最近尝试更换一下个人笔记及个人信息的记录方式转变,将原来的 Typora ​转变为 Nas 上的思源笔记 APP,同时需要配置一下思源笔记上的 Picgo ​插件功能。(现在是实验阶段,有问题会后续更改)

配置说明

Cloudflare 为 2026 年 3 月 10 号使用

/

配置过程

在 Cloudflare 创建一个 R2 存储库

  1. 这个十分简单,登录 Cloudflare 创建一个存储桶,此处创建信息随意填写,存储桶名称需要记下,后续使用。(这个项目在 Cloudflare 中属于需要绑定银行卡或者 PayPal 使用的,具体不展开)

    image

配置 Cloudflare 的相关参数

创建一个 R2 存储桶的 API Tokens

标签栏跳转到 /r2/overview ​这个概览中,找到右下角的 Account Details ​中的 Manage​,点击 创建用户 API 令牌 ​创建一个新令牌,权限指定为 对象读和写:允许读取、写入和列出特定存储桶中的对象。 ​存储桶可以仅选择新创建的,也可以都选择(建议指定只允许访问图库的那个存储桶),创建完成之后会生成 访问密钥 ID​、机密访问密钥 ​与 为 S3 客户端使用管辖权地特定的终结点:,记录这些信息,后续要填写到思源笔记的插件中去。

请注意:机密访问密钥信息只会出现一次,如果没有记住只能选择通过 轮转重新获得一个 机密访问密钥

配置自定义域信息

通过在存储桶的设置中找到 自定义域,将其填入你自己的自定义域名将存储桶转变成公开访问。

Cloudflare 中的 CORS 策略

在存储桶的设置中找到 CORS 策略​,将其修改成为如下的内容。其中 AllowedOrigins ​填入自己的自定义域名和准备在哪里进行访问的域名信息;AllowedMethods ​这里的访问方式为了方便选择了全部都允许,也可以根据自己要求去进行调整;AllowedHeaders ​是允许哪些 Headers ​进行访问(此处通过 DeepSeek 分析了下网络数据,发现大概需要这些)。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
[
{
"AllowedOrigins": [
"https://www.baidu.com",
"https://www.bings.com"
],
"AllowedMethods": [
"PUT",
"POST",
"GET",
"HEAD",
"DELETE"
],
"AllowedHeaders": [
"authorization",
"content-type",
"x-amz-acl",
"x-amz-content-sha256",
"x-amz-date",
"x-amz-user-agent",
"amz-sdk-invocation-id",
"amz-sdk-request",
"x-amz-*"
],
"ExposeHeaders": [
"ETag"
],
"MaxAgeSeconds": 3600
}
]

思源笔记中 Picgo 配置

配置填写如下:

image

最后代理 CORS 选择 no ​即可

尾言

配置主要难点在于思源笔记的图库插件没有表明 CORS 的相关参数信息,导致在 Cloudflare 中配置存在着一些小困难 😂

参考信息

更新日志