openRin / Rin

⚡Dynamic blog based on Cloudflare Pages + Workers + D1 + R2
https://rin-docs.xeu.life
MIT License
1.58k stars 710 forks source link

[Help] R2 无法正常使用 #267

Open AlexeiLeery opened 1 month ago

AlexeiLeery commented 1 month ago

问题

OXeu commented 1 month ago
  1. 设置中网站图标可设置浏览器标签页小图标 图片
  2. 首页文章卡片大小暂不支持修改,截图中是社区修改过的
  3. 403 无权限访问对应链接,可尝试将User Agent 修改为自己浏览器的 UA(每 20 分钟会刷新一次状态), 图片 或关闭友链健康监测后在 D1 控制台中输入以下 SQAL 语句清空 friends 表中的 health 字段:
    update friends set health = "";

    图片

AlexeiLeery commented 1 month ago
  1. 设置中网站图标可设置浏览器标签页小图标 图片
  2. 首页文章卡片大小暂不支持修改,截图中是社区修改过的
  3. 403 无权限访问对应链接,可尝试将User Agent 修改为自己浏览器的 UA(每 20 分钟会刷新一次状态),或关闭友链健康监测后重新手动保存每条友链 图片

但是关不掉啊,我每次博客里设置了之后刷新一下就又被重置为默认设置的了,这是什么原因造成的?

OXeu commented 1 month ago
  1. 设置中网站图标可设置浏览器标签页小图标 图片
  2. 首页文章卡片大小暂不支持修改,截图中是社区修改过的
  3. 403 无权限访问对应链接,可尝试将User Agent 修改为自己浏览器的 UA(每 20 分钟会刷新一次状态),或关闭友链健康监测后重新手动保存每条友链 图片

但是关不掉啊,我每次博客里设置了之后刷新一下就又被重置为默认设置的了

关闭需要等待开关左侧的加载图标消失才会生效,每次刷新都会重新加载配置,设置标题右侧的加载图标消失后才是真实的配置

AlexeiLeery commented 1 month ago
  1. 设置中网站图标可设置浏览器标签页小图标 图片
  2. 首页文章卡片大小暂不支持修改,截图中是社区修改过的
  3. 403 无权限访问对应链接,可尝试将User Agent 修改为自己浏览器的 UA(每 20 分钟会刷新一次状态),或关闭友链健康监测后重新手动保存每条友链 图片

但是关不掉啊,我每次博客里设置了之后刷新一下就又被重置为默认设置的了

关闭需要等待开关左侧的加载图标消失才会生效,每次刷新都会重新加载配置,设置标题右侧的加载图标消失后才是真实的配置

emmmm............不是太理解这句话,究竟如何才能做到即使刷新也和设置好了之后的一样而不会被重置到默认设置?设置标题右侧的加载图标一直没见到 image 然后这种加载图标刷新后又会重置 image

OXeu commented 1 month ago

然后这种加载图标刷新后又会重置

意思是等待这种加载图标消失后修改才被成功保存 图片

AlexeiLeery commented 1 month ago

然后这种加载图标刷新后又会重置

意思是等待这种加载图标消失后修改才被成功保存 图片

但是消失后还是刷新后就失效了,这是为啥,难道是我部署时候出现了问题?

AlexeiLeery commented 1 month ago

然后这种加载图标刷新后又会重置

意思是等待这种加载图标消失后修改才被成功保存 图片

但是消失后还是刷新后就失效了,这是为啥,难道是我部署时候出现了问题?

检查了一下发现部署没有问题,这是属于bug还是啥?

OXeu commented 1 month ago

检查你的 R2 存储桶中是否有文件,同时检查能否正常上传图片以及存储桶访问权限,目前的情况说明配置没有被成功保存到存储桶中或存储桶未打开公共访问权限

AlexeiLeery commented 1 month ago

检查你的 R2 存储桶中是否有文件,同时检查能否正常上传图片以及存储桶访问权限,目前的情况说明配置没有被成功保存到存储桶中或存储桶未打开公共访问权限

好像确实是这个出了问题,但是我仔仔细细检查了我的部署步骤,发现并没有出问题,跟着YouTube这位博主的视频手把手部署的。我试着写文章不用Markdown图片而是直接上传图片发现一直显示和加载上传中 image 然后打开Cloudflare的存储桶也是直接无法访问,但是我的公共访问实际上已经开启了 image image 这种情况该如何处理?

OXeu commented 1 month ago

检查你的 R2 存储桶中是否有文件,同时检查能否正常上传图片以及存储桶访问权限,目前的情况说明配置没有被成功保存到存储桶中或存储桶未打开公共访问权限

好像确实是这个出了问题,但是我仔仔细细检查了我的部署步骤,发现并没有出问题,跟着YouTube这位博主的视频手把手部署的。我试着写文章不用Markdown图片而是直接上传图片发现一直显示和加载上传中 image 然后打开Cloudflare的存储桶也是直接无法访问,但是我的公共访问实际上已经开启了 image image 这种情况该如何处理?

R2 对象存储 -> 管理 R2 API 令牌 -> 检查令牌权限是否为 对象读和写

AlexeiLeery commented 1 month ago

检查你的 R2 存储桶中是否有文件,同时检查能否正常上传图片以及存储桶访问权限,目前的情况说明配置没有被成功保存到存储桶中或存储桶未打开公共访问权限

好像确实是这个出了问题,但是我仔仔细细检查了我的部署步骤,发现并没有出问题,跟着YouTube这位博主的视频手把手部署的。我试着写文章不用Markdown图片而是直接上传图片发现一直显示和加载上传中 image 然后打开Cloudflare的存储桶也是直接无法访问,但是我的公共访问实际上已经开启了 image image 这种情况该如何处理?

R2 对象存储 -> 管理 R2 API 令牌 -> 检查令牌权限是否为 对象读和写

一开始设置的就是管理员读和写的权限,应该不是这个原因造成的。 为了进一步核查是否是这个的问题,我删除了之前创建的R2储存桶的API令牌然后重新生成了访问密钥ID机密访问密钥但是GitHub重新部署时却失败了。 image image image 我简直要疯了

OXeu commented 1 month ago

图片 这两个之值是分别填写在 S3_ACCESS_KEY_ID 和 S3_SECRET_ACCESS_KEY 即:

S3_ACCESS_KEY_ID=ad6bfe5c2**********9803c108ed8b3
S3_SECRET_ACCESS_KEY=fbb2ddd2c89bd7******************************7a195c0aa87a4cc87f30b

出现 Cloudflare API 错误说明你修改到 CLOUDFLARE_ACCOUNT_IDCLOUDFLARE_API_TOKEN 去了

现在的问题你应该重点检查所有 S3_ 开头的 Variables 和 Secrets,特别是 S3_BUCKET 的名称是否正确(包括大小写、中划线、是否有多余空格)

AlexeiLeery commented 1 month ago

我仔细检查了S3开头的 Variables 和 Secrets大小写、中划线和是否有多余空格,发现都没有问题,我是按照如下部署方式部署的,请问是部署方式有什么问题吗?

构建命令:bun b

构建输出目录:client/dist

环境变量:

NAME=Xeu # 昵称,显示在左上角 DESCRIPTION=杂食动物 # 个人描述,显示在左上角昵称下方 AVATAR=https://avatars.githubusercontent.com/u/36541432# 头像地址,显示在左上角 API_URL=https://rin.xeu.life# 服务端域名,可以先使用默认值查看效果,后续部署服务端随后修改 PAGE_SIZE=5 # 默认分页大小,推荐5 SKIP_DEPENDENCY_INSTALL=true UNSTABLE_PRE_BUILD=asdf install Bunlatest && asdf global Bunlatelate && Bun i

存储桶设置交叉策略设置:

[
  {
    "AllowedOrigins": [
      "https://r2blog.********.xyz"
    ],
    "AllowedMethods": [
      "GET",
      "DELETE",
      "HEAD",
      "POST",
      "PUT"
    ],
    "AllowedHeaders": [
      "Content-Type"
    ]
  }
]

接入github:

首页URL填写上面的前端地址 授权回调URL填写https://<你的前端地址>/user/github/callback

仓库变量:

FRONTEND_URL=前端地址,填写前端所绑定的域名,如https://blog.obdo.cc S3_BUCKET=R2 存储桶名称,如下面示例中的 rin-storage S3_REGION=auto S3_ENDPOINT=R2 的 S3 API,去掉域名后面的路径,如https://1234567890abcdef1234567890abcd.r2.cloudflarestorage.com S3_ACCESS_HOST=R2 公开访问域名,如下文中的示例https://rin-storage.obdo.cc

仓库secret:

CLOUDFLARE_ACCOUNT_ID=Cloudflare 的账户ID CLOUDFLARE_API_TOKEN=Cloudflare 的用户API令牌值 RIN_GITHUB_CLIENT_ID=哈希生成的Github客户端ID RIN_GITHUB_CLIENT_SECRET=邻居生成的Github客户端密钥 JWT_SECRET=加密用的密钥,可以使用密码生成器随机生成一个 S3_ACCESS_KEY_ID=存储桶API的访问密钥ID S3_SECRET_ACCESS_KEY=存储桶API的机密访问密钥

添加路由:

cloudflare的rin-server的workers里点击添加域名,绑定自己的域名, cloudflare的rin-server的workers里点击添加路由,依次加入接口添加域名/sub/ 接口域名/seo/

回到前面创建的前端页面

将制作与预览的APL_URL均修改为上面rin-server里绑定的域名

最后重新部署页面

AlexeiLeery commented 1 month ago

提一个小小的建议,能否把设置里的友链监测、友链健康监测 User-Agent、网站图标、站点底部内容等功能通过环境变量来进行操作控制啊?被整麻了......

OXeu commented 1 month ago

提一个小小的建议,能否把设置里的友链监测、友链健康监测 User-Agent、网站图标、站点底部内容等功能通过环境变量来进行操作控制啊?被整麻了......

如果实在不行也可以尝试其他兼容 S3 协议的对象存储,或者等待后续的更新

AlexeiLeery commented 1 month ago

提一个小小的建议,能否把设置里的友链监测、友链健康监测 User-Agent、网站图标、站点底部内容等功能通过环境变量来进行操作控制啊?被整麻了......

如果实在不行也可以尝试其他兼容 S3 协议的对象存储,或者等待后续的更新

望早日更新!


我在别的论坛问了一下坛友,也有类似情况 image

AlexeiLeery commented 1 month ago

经过我的反反复复试探测试,发现在点击更新按钮后直接退出账号,然后就会保留部分更新后的内容,比如:浏览器标签页内容、开启RSS。但是友链健康检测、站点底部内容依旧无法显示。同时重新登陆刷新页面和cloudflare pages重新部署都会全部回到默认设置