再次回到Linux,manjaro真香

小鸡
阅读1146 喜欢10 随想 更新2019-5-12

昨天在写node.js的一个小网页,写到一半连接数据库的时候出了各种bug,反正就是连不上数据库,哎好气,然后顺手就换了个操作系统——manjaro(虽然一直想换回以前用的debian,不过感觉之前debian在自己电脑的bug还在,就不敢换)

之前就一直有听说manjaro很方便,我现在也不是很想花时间在折腾上面了,索性用个开箱即用的系统好了,正好舍友有个启动盘,备份完数据后直接重启U盘启动安装,整个过程一气呵成,爽快。

之后安装了qt版的ssr,在火狐上安装了SwitchOmega,开心地上谷歌。这就完成一半配置了,安装好vscode,node,还有一些其他的生产环境,过程都很轻松,也很便捷。

不过中间有遇到一个奇怪但是有趣的bug,就是我在本地端渲染好hexo博客后要hexo d上传到腾讯云cos的时候,发生了403错误。我用的是hexo-deployer-cos插件来上传的,可是之前一直好好地,不知道为什么到了这里就不行。

排查过程

首先觉得是环境的问题,因为coscmd命令是用python写的,官方给的环境是python2.7,python3.4,python3.6,虽然我用的python3.7应该也没什么大碍,然而找不出bug只能试试,用conda新建了一个python3.4的环境,重新操作一遍,还是不行。

然后继续思考,难道是腾讯云那边出问题了?于是我登录了一台vps主机,在上面使用coscmd命令上传东西到腾讯云,发现可以上传。陷入沉思,这说明腾讯云那边没问题,问题只能是出在我本地这里,可是环境明明也没问题。

这里说一下,coscmd是腾讯云cos给的一个本地上传文件的基于python的命令行工具。

我翻了翻官方文档,发现一段话:本地时间保持与服务器时间基本一致,不然会出现问题

啊,时间?我看了下右下角的时间,发现是凌晨四点,而现在是下午四点,刚安装的系统忘了调时区了,所以时间有点乱。

调整好时间后重新上传,成功!

为什么呢?我在网上搜了一遍,没有相关的解释,我个人感觉,这可能就是服务器端的一种校验机制,请求头中的时间如果和服务器时间不一致,那么拒绝请求。如果有更详细的解释,还请大神评论区指出

换了个桌面环境还是挺舒服的,虽然忙活了半天,但还是值得的,就hexo博客的渲染来讲,因为我把魔板乱七八糟改了一堆,原来在Windows下渲染一次要两分钟多,在Linux下只要30秒,虽然我也不清楚这个差异是哪些地方导致的,不过爽就对了!