今天在配置Cloudflare时,发现请求量出现异常。前两天虽有所察觉但未深究,误以为是正常流量。然而,今天仔细检查时,发现R2 域名的请求量异常激增,这才引起重视。

Cloudflare控制台显示异常请求量jpg

我立即将相关截图提交给Gemini进行分析很快找到了根源。Gemini建议我追踪流量的来源,通过分析果然发现了异常。

流量来源分析显示可疑请求jpg

详细请求路径指向/webhookjpg

解决方案:创建WAF拦截规则

我借助AI生成了以下匹配规则来拦截恶意请求:
(starts_with(http.request.uri.path, "/webhook"))

具体操作步骤如下:

  1. 登录并进入WAF管理界面
    登录Cloudflare控制台,进入你的域名,在左侧导航栏点击 安全性 (Security) -> WAF
  2. 创建新规则
    点击 创建规则 (Create rule)
  3. 配置规则详情

    • 规则名称Kill-Scanner-Webhooks
    • 匹配条件 (If incoming requests match)

      • 字段 (Field)URI 路径 (URI Path)
      • 运算符 (Operator)开始于 (starts with)
      • 值 (Value)/webhook
    • 操作 (Action): 选择 阻止 (Block)
  4. 部署规则
    点击 部署 (Deploy) 使规则生效。

完成上述拦截规则设置后,我顺便为图床资源配置了缓存策略,以进一步提升性能和节省流量。

Cloudflare缓存规则配置界面jpg


最近,我将自己的导航网站(主要是一些个人常用和收藏的网站集合)迁移到了Cloudflare Pages。同时也将Bitwarden密码管理服务部署到了那里。

这种“白嫖”方案体验还可以。以前我因为频繁更换VPS,迁移像Bitwarden这类服务非常麻烦。一方面,需要在Docker中安装,而我对Docker并不熟操作起来费时费力;另一方面,安装Docker对我的某些小内存VPS来说负担过重,VPS本身稳定性也参差不齐。例如,我曾尝试部署在某个服务商上,但它经常遭受攻击或出现硬件故障,导致服务不时中断。如果部署在东京的Oracle Cloud上,又总担心账号不知何时会被封禁。至于部署在家中的NAS上,则要顾虑硬盘损坏的风险。因此,一直没能找到一个的长期方案。

这次发现可以将服务安装到Cloudflare Pages上,感觉非常理想,至少无需担心平台跑路。看到Bitwarden能成功部署后,我便开始研究是否能把其他需要稳定运行的服务也迁移过去。目前,我已经在Cloudflare Pages上成功运行了Bitwarden和一个导航网站。这样一来,也能为我那些性能有限的VPS减轻不少压力。

我也要多发掘发掘一些。



其实我觊觎这几朵蒲公英已经好几天了。我发现,每天中午太阳出来、温度暖和的时候,它们就会开得正艳。而早晨温度偏低的时候它就是含苞待放,之前我也尝试用手机拍过,但放到电脑上看效果有点不佳。相机包里原本装着28mm镜头,但拍出来的效果也不理想,于是最终还是换上了70-200mm镜头。

对这个镜头,我真是又爱又恨——它的焦段拍花花草草确实非常出色,但同时又太重、太显眼,说实话我并不太愿意把它掏出来。不过它一直躺在相机包里,所以真想拍点什么的时候,确实非常方便。

玉兰花是公司的,在上班的时候车停在路旁拍的玉兰花,其实有点太匆忙了。

图片处理流程

今天,我又把图片发布的流程优化了一下。我将上次采用的图片格式改成了WebP格式,具体流程如下:

  1. 上传照片到R2存储时,先将其压缩成WebP格式;
  2. 再将处理后的图片上传到R2存储桶;
  3. 最后删除本地的临时文件。

[jpg]
阳光下盛开的蒲公英特写

蒲公英细节展示,绒毛清晰可见

逆光下的蒲公英,轮廓光效果

多朵蒲公英组合构图

蒲公英与绿色背景的对比
[/jpg]


每天开车上班的途中,我都在观察着季节的痕迹。今天柳树还只是鼓着芽孢,明天就已吐出嫩绿的新芽。我本想在柳芽初绽时拍张照片,留住这个春天的起点,但终究还是错过了。
油菜花也从零星几朵,渐渐开成一片金黄。在某些路坡上,那满坡的金黄开得正盛,恍惚间让我仿佛置身于丘陵地带,路坡化作了起伏的山坡。我很想拍下那种此起彼伏的层次感,可最终,也错过了油菜花。
李子花也开了。一朵朵白色花瓣中透着红蕊的李子花,我也想去拍——想拍大场景的,尤其想用低机位,营造出仿佛置身桃花林的感觉:前景是洁白的李子花,背景是带着光斑的花影,而画面中央,最好能有一个人。最终,这个愿望也落空了。
我想,我已经错过了这个春天。
[jpg]

Photo by LanFeng on Unsplash

Photo by LanFeng on Unsplash

Photo by LanFeng on Unsplash

Photo by LanFeng on Unsplash

Photo by LanFeng on Unsplash

[/jpg]