Hello Hexo

首次接触nodejs项目,从零摸爬滚打过来。这篇文章会写一些过程中的坑。

项目还有很多没来得及看的代码,正在慢慢接触,所以现在网站还在快速迭代。

To do list:

1、去掉自带的统计,自己开发一个
2、网站美化。

Done list:

1、部署cdn,网站根目录下的images为了加速,通过lsyncd同步到另一台高带宽服务器、或者OSS。
2、写了个部署脚本,因为我的网站根目录还有原来的一些文件,所以不能使用hexo clean,这个命令会导致整个目录删除。
所以只能把网站编译到另一个文件夹,然后覆盖过去。
3、看到命令行有一堆nodejs的安全漏洞提醒

1
2
found 14 vulnerabilities (10 low, 1 high, 3 critical)
run `npm audit fix` to fix them, or `npm audit` for details

通过npm audit看到有些高危漏洞,npm audit fix修复。
目前对npm这个包管理程序还不是很了解,不知道为什么不在部署的时候就默认部署没有安全漏洞的包,还需要在部署完成后手动修复,我使用的明明都是最新的环境。
执行后发现:

1
2
fixed 2 of 14 vulnerabilities in 722 scanned packages
12 vulnerabilities required manual review and could not be updated

部分需要手动修复,看下剩下的是调试用的http-proxy漏洞,没有影响,所以不修了。
应用在Docker中、还有Linux权限隔离,应用层还有RASP、WAF防护。SQL注入和Webshell应该是进不来的。
4、旧版地址保留,迁移到了根目录下的origin文件夹。
5、部署评论功能,打算使用 https://github.com/qwqcode/Artalk ,因为api是在本地部署的,方便管理,不需要再注册账户。
过程中的坑是懒加载和Artalk的头像有些冲突,开启懒加载会导致头像加载不出来。
还没有仔细查代码,懒加载目前关闭掉了。
6、添加免责声明页面,并添加到醒目的位置。
7、加入dns缓存标签,这能把域名预解析为ip,无需等待点击时解析,加快加载速度。

1
2
3
把页面出现过,但没有资源访问过的的域名,逐一添加到<head>标签中。
例如:
<link rel="dns-prefetch" href="//i.loli.net/">