绿联云 NAS 配置 WebDAV 实现公网同步
背景与目标
在使用 Zotero 管理文献时,官方自带的 WebDAV 服务仅支持局域网内的 HTTP 协议,无法满足远程同步需求。为了突破这一限制,我们需要构建一套包含域名解析、动态 DNS、SSL 证书及内网穿透的完整方案,从而实现公网环境下的 HTTPS 安全访问。
核心架构
整个流程主要依赖四个环节:
- 域名:作为固定的访问入口,后续内网穿透将绑定此域名。
- DDNS-go:部署在 Docker 中,自动将域名解析更新到公网 IP。
- SSL 证书:用于启用 HTTPS 协议,保障传输安全。
- NAT-FRP:通过 Sakura Frp 等工具实现内网穿透,打通外部网络。
实施步骤
1. 域名购买与 DNS 解析
首先需要在云服务商控制台注册并购买一个域名。登录控制台后,添加一条 A 记录,将主机记录指向绿联 NAS 的内网 IP 地址。这一步是为了确保域名能正确定位到本地设备。
2. 配置 DDNS-go
参考官方文档下载并启动 DDNS-go 容器。在域名服务商后台获取对应的 API Token,填入 DDNS-go 界面中选择相应的服务商。在 IPv4 设置中输入自己的域名,选择通过接口获取 IP 模式。
注意:如果日志显示权限不足,请检查子账号是否拥有 FullAccess 权限。
验证日志显示解析成功后,说明域名已能动态同步公网 IP。
3. 申请 SSL 证书
使用 Let's Encrypt 或乐此加密等工具申请证书。输入域名,若需支持子域名可勾选泛域名选项。提交申请后,根据提示在 DNS 控制台添加一条 CNAME 类型的验证记录(主机记录与记录值由验证界面提供)。完成验证后等待签发,即可下载 Nginx 格式的证书压缩包。
4. 搭建内网穿透
按照 NAT-Frp 官方指南,在 Docker 中添加容器。选择 Sakura Frp 隧道类型,配置本地端口映射(建议自定义端口以避开冲突)。启动隧道后,查看日志获取远程访问链接并测试连通性。
随后回到域名控制台,添加一条 CNAME 记录,将子域名指向 FRP 提供的远程域名(不含端口号)。此时即可通过 子域名:端口 的形式访问。
5. 启用 HTTPS
FRP 容器默认生成的证书可能不被信任,需要替换为步骤 3 中申请的正式证书。找到容器内的证书目录,将下载的证书文件重命名并覆盖原有文件。重启服务后,再次访问连接,浏览器应显示安全锁标志。
6. 客户端配置
至此,WebDAV 服务已具备公网 HTTPS 访问能力。打开 Zotero 同步设置,输入 https://域名:端口,并在 NAS 对应账户下创建 /home/zotero/ 目录作为同步路径。验证服务器后即可开始远程同步。
补充说明:若需直接使用主域名访问绿云服务,还需在 NAS 控制面板的安全设置中上传域名证书,并将 WebServer 服务绑定该证书。但需注意,使用 IP 直接登录可能会关闭 HTTPS 状态。
常见问题排查
- 权限问题:DDNS-go 无法获取 IP 通常是因为云账号权限受限,请确保授予了 DNS 修改权限。
- 证书错误:若 HTTPS 报错,请确保证书文件路径和文件名与容器要求完全一致。
- 连接超时:检查防火墙是否放行了 FRP 映射的端口,以及路由器是否开启了相应端口转发。


