Memos 同步思源笔记踩坑记录

Memos 同步思源笔记踩坑记录

起因

笔记又切换回思源笔记了,就想用 Memos 收集灵感然后同步到思源笔记。之前用过一个 Memos 同步插件,今天直接安装上,配置好令牌,结果一点同步,反复报错:

Access to fetch at 'https://memos.1du.fun/api/v1/users' from origin
'http://1.1du.fun:6806' has been blocked by CORS policy

经典的跨域错误。想着 1panel 后台网站配置跨域应该就行了。

第一坑:CORS 配置不生效

在 Nginx 里加了跨域头:

add_header Access-Control-Allow-Origin http://1.1du.fun:6806;
add_header Access-Control-Allow-Methods GET,POST,OPTIONS,PUT,DELETE;
add_header Access-Control-Allow-Headers "Authorization,User-Agent,origin,Accept" always;

保存重载,刷新页面——还是同样报错

换了 Firefox、开了无痕模式,甚至换了台电脑,错误依旧。

第二坑:curl 能通,浏览器不通

用 curl 测试预检请求:

curl -I -X OPTIONS -H "Origin: http://1.1du.fun:6806" \
  https://memos.1du.fun/api/v1/users

返回结果里明明有 <code>access-control-allow-origin</code>  头,状态码 204,一切正常。

但浏览器就是报 <code>No 'Access-Control-Allow-Origin' header</code>。

关键点来了:再测 GET 请求:

curl -I -H &quot;Origin: http://1.1du.fun:6806&quot; \
  https://memos.1du.fun/api/v1/users

这次返回 501,而且没有 CORS 头

预检请求(OPTIONS)有跨域头,实际请求(GET)没有。这就奇怪了。

第三坑:Nginx 的 add_header 覆盖机制

翻看 Nginx 配置,发现第 37 行有个:

include /www/sites/memos.1du.fun/proxy/*.conf;

打开这个 <code>root.conf</code>,第 12 行写着:

add_header X-Cache $upstream_cache_status;

破案了!

Nginx 有个坑爹特性:只要 location 块里用了任何一个 add_header,就会清空从 server 块继承的所有 add_header

所以虽然我主配置里写了 CORS 头,但被这个 <code>root.conf</code> 给覆盖了。

第四坑:双引号和 always 参数

在 <code>root.conf</code> 里补上 CORS 配置:

add_header Access-Control-Allow-Origin http://1.1du.fun:6806 always;
add_header Access-Control-Allow-Methods GET,POST,OPTIONS,PUT,DELETE always;

还是不行。

改完还是报错。

第五坑:内网直连也跨域

试了下直接用内网 IP <code>http://192.168.1.145:5230</code>,居然还是 CORS 错误。

这说明问题不在 Nginx,是 Memos 本身没返回跨域头

终极方案:降级

折腾了几个小时,各种 Nginx 配置调来调去,就是不行。

直接降级 Memos 到 0.27 版本

在 Memos 反向代理跨域设置里:

  • 允许跨域来源填 <code>*</code>

允许所有来源跨域请求(docker 地址、客户端)。

思源笔记插件配置:

  • Memos 地址:<code>http://memos.1du.fun</code>
  • Token:从 Memos 账户设置里复制访问令牌

搞定!

总结

  1. 最终还是没解决 Memos 0.29 版本跨域问题,换 0.27 版本继续用。
  2. 不要追新 Memos 版本,稳定最重要。全网都在吐槽 Memos 大版本 API 文档经常大改,导致各种问题。
  3. 跨域问题,反向代理开启跨域即可。
    折腾一下午,总算能同步了。早知道一开始就降级,少踩好多坑。

craved 管理员

1篇 本周更新
8篇 本月更新
1个 用户数量

站点性能

运行正常
实时心跳0 ms
页面加载
0
SQL 查询
0
服务端响应
0 ms
峰值内存
0 MB
00 : 00 : 00
2026624星期三
目录