此文章仅适用于Docker版思源笔记且使用的是宝塔付费版并启用了Nginx防火墙
起因
花了一个多小时用思源笔记编辑了一篇不错的笔记,但等到关闭文档后想再打开看看时却发现根本没有保存!
首先排查的是思源笔记内的设置,发现 自动保存历史记录 这一功能是打开的,但却没有正常保存记录
然后又将Docker容器进行重启,但仍旧无法保存没有效果。
最后将目光锁定在容器程序在保存时向指定路径提交POST请求进行保存时出了错误,才开始排查防火墙。
原因
Nginx防火墙在拦截恶意POST请求时误拦截了思源笔记的保存函数路径 /api/transactions
,由于传值时函数会将Markdown语法整个传入,导致了一部分Markdown被误判
解决方法
将 /api/transactions
路径加入防火墙白名单即可
总结
由于使用Docker版思源笔记的人数较少且同时使用宝塔付费Nginx防火墙的概率太小,如果遇到这种问题可以这样解决,也不枉我搭进去两篇心血笔记T T