ACodingDayBlog

AdGuard 导致的 403

AdGuard 导致的 403
2021-11-28 · 3 min read
状态码 Debug

前言

众所周知,写博客使用的图片是上传到图床再引用外链。常见的图床方案有:OneDrive 搭配 Oneindex、Github 仓库搭配 PicX、SM.MS 或 Gitee 仓库搭配 PicGo、七牛云、腾讯云 COS、阿里云 OSS......

我的另一个 Typecho 博客使用的图片就是存储在腾讯云 COS,腾讯云还推出客户端 COSBrowser,日常使用方便。

起因

某一天,在登录网站写文章时,发现网站的图片加载失败,刷新无效,F12 打开控制台一看,全是错误:Failed to load resource: the server responded with a status of 403 (Forbidden)。
迷惑

Debug

我就开始迷惑了,为啥会出现 403 ?开始思考...🤔🤔🤔

  • 我的 IP 被列入黑名单?博客域名已经在 COS 的白名单内,而且之前是没问题的。
  • 以 HTTP 方式访问需要 SSL 连接的网址?博客已经启用 HTTPS 访问了。
  • 同一个校园网环境,手机访问博客完全没问题,那就是电脑的问题。
  • Nginx 防火墙设置了“禁止海外访问”的原因?毫无关联啊!!!“禁止访问服务器”与“读取资源被拒绝”不挂钩啊。但我还是尝试了点击关闭这个设置,或关闭电脑的代理,都不起效。
    防火墙设置
  • 登录腾讯云控制台,查看存储桶是否欠费了?否。
  • 打开在线请求工具,尝试访问那些图片,返回 200 正常。
    腾讯云在线 API
  • 那就是浏览器的问题了!!!我在用的是 Microsoft Edge V96.0.1054.34 X64,既然这个浏览器不中用🤐,那就打开我亲爱的 Firefox。
  • 打开火狐浏览器访问,图片依然加载失败,打开控制台看到“↑↓网络”项中多出一个“传输”详情,百度的分析爬虫显示“被 AdGuard 广告拦截器拦截”,图片显示“NS_BINDING_ABORTED”。难道是 AdGuard 的缘故?恰好我两个浏览器都安装了 AdGuard 插件。
    突然发现
  • 验证:点击 AdGuard 插件的“打开过滤日志”,点击“刷新页面”,就可以看到被被过滤项以及其依据。
    拦截图片的依据
  • 关闭其中提到的选项就好了。🎉🎉🎉如果有谷歌、必应、百度的网站统计代码,干脆关闭“隐身模式”吧,冲浪嘛,赤裸半身也很正常。
    关闭设置

后续

没想到,居然是这个原因。也不得不说,AdGuard 真滴 NB,即使自己的网站以后做大做强,加了广告进去,可能就要交“合作费”了,让网站出现在它的规则白名单内。