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

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
Microsoft Security Blog
Microsoft Security Blog
Recent Announcements
Recent Announcements
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Last Week in AI
Last Week in AI
罗磊的独立博客
腾讯CDC
云风的 BLOG
云风的 BLOG
月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
宝玉的分享
宝玉的分享
U
Unit 42
I
InfoQ
D
DataBreaches.Net
Blog — PlanetScale
Blog — PlanetScale
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
V2EX
美团技术团队
IT之家
IT之家
Stack Overflow Blog
Stack Overflow Blog
F
Fortinet All Blogs
GbyAI
GbyAI
S
SegmentFault 最新的问题

老张博客

我用的Obsidian插件 曾经用过的那些“灯”! 2026暑假的收获 Obsidian 笔记同步插件-Fast Note Sync For Obsidian 无线Wifi方案敲定:AC+AP – 老张博客 推荐一款win桌面整理工具-DeskBox – 老张博客 寻求家庭最佳无线网络方案 – 老张博客 隔行如隔山,放弃吧! – 老张博客 “暑假综合症”犯了,得“治”! – 老张博客 日记本‌diary主题for Typecho – 老张博客 Telegram群抽奖机器人,开源了! – 老张博客 [推广]酷鸭数据端午活动6.16开启!限时4天! – 老张博客 人有多大胆,AI有多大产! – 老张博客 老张博客更换Riven主题了! – 老张博客 wordpress兰空图床插件V2版 – 老张博客 WordPress首页调用typecho教程(1.3.0版) – 老张博客 typecho兰空图床上传插件V2版 – 老张博客 [推广]酷鸭数据 · 520情人节特别活动机来啦! – 老张博客 再也不会去的“窑湾古镇” – 老张博客 困扰许久的网络问题终于解决了! – 老张博客 体验不佳的琅琊古城! – 老张博客 WordPress反向代理后,获取不到访客真实IP的解决方法! – 老张博客 回复评论超时未解,老张博客再回酷鸭 目前老张博客服务器搭配方案! Tailscale+Lucky+雷池waf,多项组合让NAS更安全! NAS,如何做好安全防护!
我只会瞎折腾!暨兰空图床上传图片失败解决方法! – 老张博客
老张博客 · 2026-04-29 · via 老张博客


我给自己定义"瞎折腾"应该很多次了!每次折腾完一件事之后,才会把整个折腾的过程撸一撸思路,这才会发现绕了太多太多的弯路而浪费了太多太多的时间。讲一讲这次我又是怎么样瞎折腾兰空图床上传失败的吧!

应该是大前天,我写老张随笔里需要上传一张图片到图床,传了N次都不行,要知道之前上传都是正常的,换了其他的存储方式也上传不了!好了,下面就是我的"骚操作",开始了我的"瞎折腾"之路了!

瞎折腾之一:重置消息队列

兰空图床我是普通方式安装,在生成缩略图、图片处理以及发送邮件等等功能中,这些耗时任务都需要使用消息队列来执行,我们可以使用 php artisan queue:work 命令来运行消息队列。这块我是删了加、加了删,折腾了N次。

结果是可想而知的!图片上传还是失败!

瞎折腾之二:降级数据库

为了能跟上"潮流",我在3月20号的时候,把数据库mysql从5.7版本升到了8.0的,升级之后所有网站运行正常。期间在4月10号的时候还正常的上传过图片到图床。但是,自己的脑子还是跑气,还是把数据库给降级了。这次降级没有直接整体降级,而是给兰空图床单独配置了一个docker部署的Mysql5.7版。这次折腾docker部署的Mysql5.7版也是搞了半天的时间,Docker版的mysql部署好后,导入数据又是个问题了,又安装Navicat,远程到Docker版的mysql数据库,才把数据给恢复了!

结果是可想而知的!图片上传还是失败!

瞎折腾之三:删站重建

脑子跑气上头了!折腾起来不经大脑了!把数据库备份下,把网站、数据库重部删掉,下载网站源文件,从0开始安装,在用全新数据库的情况下再次测试图片上传,结果,结果,还是失败!把数据库恢复后再次测试,结果,结果还是失败。

瞎折腾之四:网站搬家

人如果脑子一根筋了,谁劝也没有用,何况还没有人劝呢!在我的甲骨文破西上也是从0开始安装了兰空图床,上传图片成功!把数据库恢复,上传图片成功!

最终折腾:回到起点!

虽然把网站搬到甲骨文后上传图片正常了,但是甲骨文破西只是本时瞎折腾东西用的,放网站速度还是慢的。那只能再回来起点!

这次折腾,真的是静下心来了,想着,之前上传图片是正常的,而某个时间上传不成功,而网站环境、配置什么的又都没有修改过,那问题出在哪里了?请出我的"小张",把网站日志交给小张分析,再把网站目录下的/storage/logs日志进行了分析,最终导致图片上传失败的原因找到了,想都不敢想!是服务器时间与标准时间不一致导致的上传失败!

日志分析得很清楚了,核心问题就是 服务器时间不对:
错误:RequestTimeTooSkewed

RequestTime: 20260421T084333Z (请求发起时间: 08:43:33 UTC)
ServerTime: 2026-04-21T08:26:19Z (服务器认为的时间: 08:26:19 UTC)
MaxAllowedSkew: 900000ms (15分钟)

两者相差约 17分钟,超过了 AWS S3 允许的 15 分钟偏差,所以 S3 拒绝了上传,返回 403 Forbidden。

解决方法:同步服务器时间
bash
查看当前服务器时间
date -u

同步 NTP 时间
timedatectl set-ntp true

或者手动安装 ntpdate 同步
ntpdate -b pool.ntp.org

同步完之后再上传就好了。

这个坑确实比较隐蔽——应用日志会报 403 Forbidden,但真正原因藏在 AWS 返回的 XML 错误信息里,提示 RequestTimeTooSkewed,指向时间偏差问题。

想不到是服务器时间与标准时间不一致,超过了S3的允许范围15分钟而导致拒绝上传!

总结:

唉,瞎折腾!瞎折腾!自己一直在瞎折腾!遇到问题不先理清思路,上去就是一通瞎折腾!结果是浪费了精力浪费了时间!就这件事而言,如果事前可以静下来,理理思路,根本就不会浪费这么多时间和精力!唉!以后遇事,还是得要先"想静静"吧!