欢迎来到 星空Online - 织梦者,我的原创世界。

Spring Boot 遇到 RFC 7230 and RFC 3986 的问题

分享一个小案例。

这两天因为 log4j 的天坑导致别的事情都没做,光升级组件了。恰巧手上有个老项目顺便需要升级一下 spring-boot,从 https://mvnrepository.com/ 上查到今天最新的版本是 2.1.6 于是便直接升级了,然后问题发生了。

线上的服务忽然开始报 400 Bad Request 错误,查了下错误日志,看到了这个提示:Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986。虽然26个字母我都认识,但他们连成的这句话让我还是不知道如何解决。百度一下发现是因为请求的字符串中包含了 |,尽管最佳的解决方式是在请求端做一次 encode,但这种 native 的线上项目是不可能在短时间内完成全量升级的。

阅读 评论

@alicloud/credentials 的天坑

因为想做一个阿里云服务器的监控,项目依赖了 @alicloud/ecs20140526 拉取阿里云ECS的信息,然后该组件依赖了 @alicloud/openapi-client,然后通过该依赖间接依赖了 @alicloud/credentials

在本地调试时,没有使用 webpack 将代码打包成一个独立的 index.js 文件,貌似运行一切正常,但在准备部署到线上时,发现怎么都启动不起来。

经过排查发现 @alicloud/credentials 中有一段写死的读取 package.json 的代码。

阅读 评论

“批判”的资格

牛年要到了,絮叨些“牛”的事情。


马上又要到春节了,说到春节那么就离不开春运。现在的春运的运力虽然仍然不能完全解决问题,但比起前些年来已经好了太多了。虽然票还是那么难买,但是在12306系统上线后,因为极大的压缩了内部票票源,在买火车票这件事情上已经相对公平了,如果还有什么要抱怨的,那也只能怪自己的手速了。

阅读 评论