Obsidian 多端同步系统搭建全记录
整体架构
Windows 电脑和 iPhone 通过阿里云马来西亚服务器(2核2G)上部署的 WebDAV 服务进行双向同步,全程 HTTPS 加密,使用 Remotely Save 插件作为同步客户端。
架构示意
Windows Obsidian → Remotely Save → 阿里云 WebDAV ← Remotely Save ← iPhone Obsidian
域名与证书
- 域名:hialbert.online,在 Namecheap 购买,首年 $0.98
- DNS 托管:Cloudflare(免费),A 记录 obsidian.hialbert.online 指向 47.250.14.82
- SSL 证书:Let’s Encrypt 免费证书,通过 Certbot 申请,自动续期
- 访问地址:https://obsidian.hialbert.online:18080/obsidian/
阿里云服务器配置
操作系统:Ubuntu(轻量应用服务器) 安装软件:Nginx + nginx-extras + apache2-utils + certbot WebDAV 目录:/var/www/webdav/obsidian/ 监听端口:18080(HTTPS),80(HTTP 跳转) 防火墙:轻量服务器防火墙放行 18080 和 80 端口
Nginx 核心配置
- dav_methods:PUT DELETE MKCOL COPY MOVE
- dav_ext_methods:PROPFIND OPTIONS
- 身份验证:Basic Auth(htpasswd)
- 证书路径:/etc/letsencrypt/live/obsidian.hialbert.online/
客户端配置
Windows 和 iPhone 均安装 Remotely Save 插件,填写相同的 WebDAV 地址、用户名、密码,Depth header 设置为 infinity。
踩过的坑
- ifconfig 显示的是内网 IP,公网 IP 需要用 curl ifconfig.me 获取
- Cloudflare Proxy 必须关闭(灰色云朵),否则 Let’s Encrypt 验证失败
- Certbot 申请证书前需要先确认 DNS 解析生效(ping 域名返回正确 IP)
- 阿里云轻量服务器的防火墙入口在实例详情的「防火墙」选项卡,不是 ECS 安全组
- 不能把多行文本一起粘贴进终端执行,每次只执行一条命令
相关链接
- Obsidian 笔记组织系统
- Remotely Save 插件使用
- 阿里云服务器管理
🚀 告别付费同步!用阿里云自建 Obsidian 三端同步,安全又省钱
作为一个重度 Obsidian 用户,我每天都在 Windows 电脑、iPhone 之间切换。
官方同步要 $8/月,用了两年快 $200 了……直到我发现了这个方案。
📌 先说结论
花不到 ¥10 的域名费,用自己的云服务器搭建 WebDAV,实现 Windows + iPhone 双端同步,全程 HTTPS 加密,数据完全在自己手里。
整套系统跑起来之后:
手机写的笔记,打开电脑就能看到
电脑整理的知识库,地铁上用手机随时查阅
数据不经过任何第三方,完全私有
🏗️ 整体架构
先看一张架构图,帮你建立整体认知:
┌─────────────────┐ ┌──────────────────────┐ ┌─────────────────┐
│ Windows 电脑 │ │ 阿里云服务器 │ │ iPhone │
│ │ HTTPS │ │ HTTPS │ │
│ Obsidian │◄───────►│ Nginx + WebDAV │◄───────►│ Obsidian │
│ Remotely Save │ │ Let's Encrypt 证书 │ │ Remotely Save │
└─────────────────┘ │ hialbert.online │ └─────────────────┘
└──────────────────────┘
▲
│ DNS 解析
┌────┴────┐
│Cloudflare│
└─────────┘
核心思路: 阿里云服务器作为「中间人」,Windows 和 iPhone 都通过 HTTPS 加密通道跟它同步,两端的笔记通过服务器保持一致。
🧩 四个关键角色
1️⃣ 阿里云服务器 — 数据中心
这是整套系统的核心,相当于你的「私人网盘服务器」。
规格: 2核2G 足够(笔记文件都很小)
系统: Ubuntu
作用: 运行 WebDAV 服务,存储所有笔记文件
为什么选阿里云: 稳定、有公网 IP、国内访问速度快
💡 注: WebDAV 是一种文件传输协议,你可以把它理解成一个「网盘接口」,Obsidian 通过这个接口上传和下载笔记文件。
2️⃣ 域名 + Cloudflare — 地址和门牌号
直接用 IP 地址访问服务器有两个问题:IP 不好记、无法申请 HTTPS 证书。所以需要一个域名。
域名: 在 Namecheap 购买,首年低至 $0.98
DNS 托管: 免费托管到 Cloudflare
最终访问地址:
https://obsidian.你的域名.online:18080/obsidian/
💡 注: 域名就像你家的门牌号,Cloudflare 就像邮局,负责把「寄给你家」的请求准确投递到你的服务器 IP。
3️⃣ Let’s Encrypt 证书 — 安全锁
HTTPS 需要 SSL 证书,Let’s Encrypt 提供完全免费的证书,而且会自动续期,配置一次,永远不用管。
证书申请命令:
sudo certbot certonly --nginx -d obsidian.你的域名.online
证书有效期:90天(自动续期)
费用:¥0
💡 注: SSL 证书就像快递箱上的封条,保证你的笔记在传输过程中不被别人偷看。没有它,数据明文传输,在公共 WiFi 下非常危险。
4️⃣ Remotely Save 插件 — 同步引擎
这是 Obsidian 社区的免费插件,支持通过 WebDAV 同步,Windows 和 iPhone 都能用。
配置只需要填三个字段:
服务器地址:https://obsidian.你的域名.online:18080/obsidian/
用户名: 你设置的用户名
密码: 你设置的密码
填完点「检查连接」,成功后点「立即同步」,完事儿。
🛠️ 完整搭建流程
Phase 1:买域名(10分钟)
去 Namecheap.com 搜索你想要的域名
选
.online后缀,首年最便宜($0.98 起)结账时把附加服务全部去掉,只买域名本身
去 Cloudflare.com 注册账号,把域名添加进去
在 Namecheap 把 DNS 服务器改成 Cloudflare 给的地址
Phase 2:配置 Cloudflare DNS(5分钟)
在 Cloudflare 添加一条 A 记录:
| 字段 | 填写内容 |
|——|———|
| Type | A |
| Name | obsidian |
| IPv4 | 你的服务器公网 IP |
| Proxy | 关闭(必须!灰色云朵) |
⚠️ 坑点提示: Proxy 必须关闭!开启后 Cloudflare 会拦截非标准端口,导致连接失败。
Phase 3:配置服务器(30分钟)
SSH 登录服务器,依次执行:
# 1. 安装 Nginx 和工具
sudo apt update && sudo apt install nginx nginx-extras apache2-utils -y
# 2. 创建 WebDAV 存储目录
sudo mkdir -p /var/www/webdav/obsidian
sudo chown -R www-data:www-data /var/www/webdav
# 3. 创建访问密码
sudo htpasswd -c /etc/nginx/.htpasswd 你的用户名
# 4. 安装证书工具
sudo apt install certbot python3-certbot-nginx -y
# 5. 申请 HTTPS 证书
sudo certbot certonly --nginx -d obsidian.你的域名.online
然后创建 Nginx 配置文件(/etc/nginx/sites-available/obsidian-webdav):
server {
listen 18080 ssl;
server_name obsidian.你的域名.online;
ssl_certificate /etc/letsencrypt/live/obsidian.你的域名.online/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/obsidian.你的域名.online/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
location /obsidian/ {
alias /var/www/webdav/obsidian/;
dav_methods PUT DELETE MKCOL COPY MOVE;
dav_ext_methods PROPFIND OPTIONS;
dav_access user:rw group:r all:r;
auth_basic "Obsidian Sync";
auth_basic_user_file /etc/nginx/.htpasswd;
create_full_put_path on;
autoindex on;
client_max_body_size 100m;
}
}
server {
listen 80;
server_name obsidian.你的域名.online;
return 301 https://$host:18080$request_uri;
}
# 启用配置
sudo ln -s /etc/nginx/sites-available/obsidian-webdav /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
Phase 4:配置 Obsidian 插件(10分钟)
Windows 和 iPhone 操作完全一样:
Obsidian 设置 → 第三方插件 → 关闭安全模式
浏览插件市场,搜索
Remotely Save,安装并启用进入插件设置,填写 WebDAV 配置
点「检查连接」→ 显示成功 → 点「立即同步」
💰 成本对比
| 方案 | 首年费用 | 续费/年 | 数据归属 |
|——|———|———|———|
| Obsidian 官方同步 | $96 | $96 | Obsidian 服务器 |
| 本方案(自建) | 域名 $0.98 + 服务器费 | ~$12 + 服务器费 | 完全自己掌控 |
| 坚果云 | 免费(有限额) | ¥199/年 | 坚果云服务器 |
如果你本来就有云服务器,域名是唯一额外费用,首年不到 ¥10。
⚠️ 踩坑记录(帮你避雷)
这些是我实际操作中遇到的问题,省得你重蹈覆辙:
ifconfig看到的是内网 IP,用curl ifconfig.me才能获取公网 IPCloudflare Proxy 必须关闭,否则 Let’s Encrypt 验证失败,记住要灰色云朵
申请证书前先确认 DNS 生效,用
ping 你的域名确认返回正确 IP阿里云轻量服务器防火墙在实例详情的「防火墙」选项卡,不是 ECS 的安全组,两个是不同的产品
终端粘贴命令每次只粘一行,不要把多行一起复制进去执行
iOS 后台限制,iPhone 无法后台自动同步,每次打开 Obsidian 手动点一下同步按钮
🎯 适合谁用这个方案?
适合:
已经有云服务器的同学(边际成本几乎为零)
对数据隐私有要求,不想把笔记放第三方
有基础 Linux 操作能力,不怕敲命令
想折腾、喜欢自己掌控一切的技术人
不适合:
完全不懂命令行,看到终端就头疼
没有云服务器,也不打算买的同学(坚果云更省事)
对同步实时性要求极高(iOS 后台限制无法完全自动)
🔗 相关资源
Remotely Save 插件:搜索 Obsidian 插件市场
Let’s Encrypt 官网:https://letsencrypt.org
Namecheap 域名注册:https://namecheap.com
Cloudflare DNS:https://cloudflare.com
💬 最后说一句: 折腾的过程本身就是一种学习。搭完这套系统,你对 Nginx、HTTPS、DNS、WebDAV 的理解会比看一百篇教程都深。
如果这篇文章帮到了你,欢迎分享给同样在用 Obsidian 的朋友 🙌
tags: #Obsidian #知识管理 #自建服务器 #WebDAV #折腾