Home avatar

一个简简单单的博客,主要分享学习过程中整理出来的知识以及踩过的坑

一次 Go Mod Tidy 卡住与 Unknown Revision 的踩坑记录

最近在维护一个 Go 项目时,遇到了一个关于 go mod tidy 的棘手问题。表面现象很简单:执行命令后,终端要么卡在下载某个包的过程中一动不动,要么直接报错 unknown revision

这个报错看起来像是版本号写错了,但真正麻烦的地方在于,它背后可能隐藏着一连串问题——网络、代理、间接依赖、版本冲突,每个环节都有可能出问题。

这篇文章把这次完整的排查过程记录下来,重点讲四件事:

  1. 问题是怎么开始的
  2. 网络和代理层面排查了哪些
  3. 版本冲突是怎么发现的
  4. 最终用什么方案解决

一次谷歌支付订单校验报 PermissionDenied 的踩坑记录

最近踩了一个谷歌支付相关的坑,表面现象很简单:服务端在查询订单或校验支付结果时,接口直接报错:

1
2
The current user has insufficient permissions to perform the requested operation.
permissionDenied

这个报错如果只看字面,很容易理解成“账号权限不够”,但真正麻烦的地方在于,它并不会直接告诉你到底是:

  • Google Cloud 里的服务账号有问题
  • Google Play Console 里的授权丢了
  • API 没启用
  • 还是后端正在用一份已经失效的 JSON 凭证

这篇文章就把这次问题完整记一下,重点讲三件事:

  1. 这个问题最开始是怎么发现的
  2. 中间是怎么一步步排查的
  3. 最后到底该怎么恢复

一次 Postman 报错 Unexpected End of File 的排查复盘

最近遇到一个挺绕的接口问题:Postman 请求状态码明明是 200,但就是没有响应数据,同时还会报一个看起来很奇怪的错误:

1
Error: unexpected end of file

一开始看到这个报错,很容易怀疑是服务端没启动、返回体格式不对,甚至是接口代码本身有异常。但这次真正的问题,不在业务逻辑,而是在“测试环境请求链路 + 压缩编码 + 代理转发”这几个环节叠在了一起。

这篇文章就把这次排查过程完整梳理一下,重点讲清楚这几个问题:

  1. 为什么 curl 能正常返回,而 Postman 不行
  2. 为什么有些接口正常,只有部分接口出问题
  3. 为什么最终定位到的是 content-encoding: br
  4. 测试环境里的反向代理到底起了什么影响
  5. 最后是怎么处理掉的

如何通过亚马逊S3存储桶 + CloudFront + Cloudflare 部署 H5 项目

最近折腾了一次 H5 项目的上线,原本以为这种纯前端静态项目会很简单,结果真正麻烦的地方根本不在打包,而是在部署链路上:S3 目录权限、CloudFront 的 SPA 回退、Cloudflare 的域名解析切换、还有 App 内 WebView 的缓存问题。

这篇文章就把这次完整过程整理一下,专门讲如何通过 Amazon S3、CloudFront 和 Cloudflare 部署 H5 项目,以及上线过程中最容易踩的坑和对应处理方式。

0%