【沧海拾昧】绿联NAS配置WebDAV公网访问并使用RaiDrive挂载到本地

【沧海拾昧】绿联NAS配置WebDAV公网访问并使用RaiDrive挂载到本地

#C0601


沧海茫茫千钟粟,且拾吾昧一微尘

——《沧海拾昧集》@CuPhoenix


【阅前敬告】沧海拾昧集仅做个人学习笔记之用,所述内容不专业不严谨不成体系【如有问题必是本集记录有谬,切勿深究】


目录


前言

将 NAS 的磁盘空间通过 RaiDrive 等软件挂载到本地使用是一种十分便捷的方法,但是 RaiDrive 中只有针对群晖(Synology)等几个品牌 NAS 的原生支持,如果使用绿联(UGREEN) NAS 则无法直接在 RaiDrive 中挂载。本文记录了使用绿联 NAS 配置 WebDAV 协议并通过公网访问的方式在 RaiDrive 中挂载的方法以供参考。

本文用到的软/硬件环境:绿联 DH3400 Plus;

一、配置步骤

1、确认网络设备支持 IPv6

  • 要实现公网访问,必须确认设备可以访问公网 IP,包括确认使用的光猫、路由器对 IPv6 的支持和对应功能是否设置开启;

可以通过 这个网站 进行测试:如果显示网络 IPv6 访问优先,则不需要调整,否则需要先参考其他资料开启 IPv6 访问。

在这里插入图片描述
其他测试连接测试链接 1 :仅支持 IPv6 访问;测试链接 2 :测试网络是 IPv4 还是 IPv6 访问优先(访问IPv4 / IPv6双栈站点,如果返回 IPv6 地址,则 IPv6 访问优先)

2、购买域名

  • 进行 DDNS 配置需要有一个自己的域名,推荐使用阿里云或腾讯云进行配置(该推荐源自绿联官网资料),这里以腾讯云为例;
  • 在腾讯云购买一个域名(购买时需经过实名认证等步骤,不需要购买其他服务,最便宜的大概只需要几块钱一年),购买成功后等待一会有短信通知域名恢复正常解析,就可以使用了;

3、配置访问凭证

  • 登录腾讯云 访问管理控制台策略页,单击【策略】页面中的【新建自定义策略】,并单击【按策略语法创建】;
  • 选择【空白模板】,进入下一步;
  • 复制这段权限脚本到【策略内容】中,然后单击完成;
{ "version": "2.0", "statement": [ { "effect": "allow", "action": [ "cdb:DescribeDBInstances" ], "resource": [ "*" ], "condition": [] }, { "effect": "allow", "action": [ "cvm:DescribeInstances" ], "resource": [ "*" ], "condition": [] }, { "effect": "allow", "action": [ "cynosdb:DescribeClusters" ], "resource": [ "*" ], "condition": [] } ] } 
  • 在导航栏中单击【访问密钥】→【API密钥管理】,获取SecretIdSecretKey(即 AccessId 和 AccessKey ),注意保存好,不要泄露;

2、NAS 配置 WebDAV 服务

  • NAS 开机后,按绿联官方操作手册进行注册、登录等一系列初始化设置;
  • 配置完成后,可以同局域网 IP 访问检测是否设置成功,例如 NAS 的局域网 IP 是 192.168.1.100,则在浏览器中访问【192.168.1.100:5006】看是否会进入鉴权页面;

在【控制面板】→【文件服务】→【WebDAV】中选择启用服务,并在高级设置中勾选;

在这里插入图片描述

3、NAS 配置 DDNS 支持

  • 如果一切正常,点击【连接测试】会显示成功;

服务商选择腾讯云,然后输入刚才注册的域名,和刚才获取的 SecretId 和 SecretKey;

在这里插入图片描述

在【控制面板】→【设备连接】→【远程访问】中选择【启用 DDNS 支持】,然后选择【新增】;

在这里插入图片描述

4、配置反向代理

  • 注意:按这个步骤使用 Nginx 做反向代理可能出现问题(挂载后无法移动文件和修改文件名),该问题尝试网上一些修改 Nginx 的方法无法解决。推荐使用 Lucky 来设置反向代理。教程参考:教程1教程2
  • 这里提醒一点:设置动态域名的时候,要根据 IPv4 还是 IPv6 来选择获取公网 IP 方式。教程1中的示例是 IPv4 的,所以选择了通过接口获取,如果根据本文上面的步骤来做公网 IP应该是 IPv6 的,因此这一步要选择网卡获取。
  • 另注:可以通过 NAS 中的 自动映射 功能(在【控制面板】→【设备连接】→【远程访问】→【方式二:高级设置】)完成路由器端口的映射,不用从路由器中手动设置。
  • 在 NAS 的应用中心中安装 docker,然后在 docker 的镜像中搜索并下载 jc21/nginx-proxy-manager,安装 nginx proxy manager(如果下载失败,则需要开启加速,可以通过 官方教程 进行设置);
  • 设置容器【自动重启】;
  • 点击【Certificates】,选择【Add Certificate】→【Let’s Encrypt via DNS】,在 Domain Names 中输入刚才购买的 DDNS 域名,然后在 DNS Provider 中选择腾讯云 Tencent Cloud,输入 secret_id 和 secret_key,点击【Save】进行保存;
  • 配置完成后,打开浏览器,输入 https://xxxxxxx:8000(xxxxxxx 是自己的域名),如果能跳转到 WebDAV 的页面就是成功了;

点击【Proxy Host】配置反向代理,新建一个 Proxy Host,在 Domain Names 中输入刚才购买的 DDNS 域名,转发 IP 填写 172.17.0.1,端口为5005,然后在 SSL 选项卡中勾选 Force SSL 和 HTTP/2 Support;

在这里插入图片描述

启动容器后,可以通过【快速访问】进入管理页配置证书;

在这里插入图片描述

端口号可以改成比较好记的,避免与 NAS 已有的端口产生冲突;

在这里插入图片描述

对容器进行配置,注意在【存储空间】中加入 /etc/letsencrypt 这个容器目录,否则服务无法启动;

在这里插入图片描述

5、在 RaiDrive 中挂载

  • 启动 RaiDrive,新增虚拟驱动器,在 【NAS】选项卡中选择【WebDAV】,然后在地址栏中输入 https://xxxxxxx:8000,并输入用户名和密码(在绿联APP中设置的访问 WebDAV 的密码,相关的权限也在绿联 APP 中管理);
在这里插入图片描述
  • 点击连接,即可将 NAS 挂载到本地磁盘;

6、设置防火墙

  • 规则1用于允许反向代理的端口访问,规则2用于允许内网访问所有端口。设置完成后记得勾选启用,然后确定。

防火墙可以在 NAS 中进行设置,这里给出两条规则参考:

在这里插入图片描述

二、最终结果

在我的电脑中,出现该驱动器。不开 RaiDrive 会员只能挂载到网络位置,开了会员之后可以挂载到本地磁盘的位置,但这两个在一般使用中没有什么区别。

在这里插入图片描述
参考文献绿联NAS配置公网访问配置腾讯云访问凭证绿联云知识中心 - 启用DDNS支持

Read more

前端实现Word文档在线编辑与导出:基于mammoth.js与Blob对象的完整解决方案

如何在浏览器中直接编辑Word文档并导出?本文将深入探索一种基于mammoth.js和Blob对象的完整技术方案。 在当今的Web应用开发中,实现文档的在线编辑与导出已成为常见需求。无论是企业内部系统、教育平台还是项目管理工具,都迫切需要让用户能够在浏览器中直接编辑Word文档,而无需安装桌面软件。本文将详细介绍如何利用mammoth.js和Blob对象实现这一功能,并对比其他可行方案。 一、为什么选择mammoth.js与Blob方案? 在Web前端实现Word文档处理,主要有三种主流方案:浏览器原生Blob导出、mammoth.js专业转换和基于模板的docxtemplater方案。它们各有优劣,适用于不同场景。 mammoth.js的核心优势在于它能将.docx文档转换为语义化的HTML,而非简单复制视觉样式。这意味着它生成的HTML结构清晰、易于维护和样式定制。配合Blob对象,我们可以轻松将编辑后的内容重新导出为Word文档。 与直接使用Microsoft Office Online或Google Docs嵌入相比,mammoth.js方案不依赖外部服务,能更好地

前端安全:别让你的网站变成黑客的游乐场

前端安全:别让你的网站变成黑客的游乐场 毒舌时刻 这代码写得跟筛子似的,到处都是漏洞。 各位前端同行,咱们今天聊聊前端安全。别告诉我你还在忽略安全问题,那感觉就像在没有锁的房子里放贵重物品——能放,但随时可能被偷。 为什么你需要关注前端安全 最近看到一个项目,直接在前端存储用户密码,没有任何加密措施。我就想问:你是在做网站还是在做慈善? 反面教材 // 反面教材:不安全的代码 function Login() { const [username, setUsername] = React.useState(''); const [password, setPassword] = React.useState(''); const handleSubmit = async (e) => { e.preventDefault(); // 直接发送密码,没有加密 const response = await fetch('

[开源推荐] 基于 Vue 3 + Hiprint 的 Web 打印设计器 vg-print:拖拽设计、静默打印一站式方案

[开源推荐] 基于 Vue 3 + Hiprint 的 Web 打印设计器 vg-print:拖拽设计、静默打印一站式方案

在 Web 开发中, 打印功能 一直是一个让人头疼的痛点。传统的 CSS 打印难以精确控制分页、页眉页脚和复杂布局,而市面上的打印插件要么收费昂贵,要么集成复杂。 最近在项目中基于著名的 hiprint 库,封装了一套 开箱即用 的 Vue 3 打印设计组件库 —— vg-print 。它不仅支持可视化拖拽设计模板,还集成了预览、PDF/图片导出,甚至支持配合客户端实现 静默打印 。今天就把这个开源项目分享给大家,希望能帮到有类似需求的开发者。 为什么选择 vg-print? vg-print 是一个基于 Vue 3 生态的打印解决方案。它不仅仅是对 hiprint 的简单封装,更提供了一个完整的 FullDesigner 设计器组件。 👉 点击进入vg-print开发者文档 核心痛点解决: * 可视化设计 :不再手写复杂的打印样式,直接拖拽生成模板。 * 开箱即用 :引入组件即可使用,无需繁琐的初始化配置。

【2025年度创作】分享和总结如何通过AI快速开发一款MCP(模型上下文协议)服务插件,并进行本地和线上部署测试,最后上架MCP以及智能体调用MCP插件

【2025年度创作】分享和总结如何通过AI快速开发一款MCP(模型上下文协议)服务插件,并进行本地和线上部署测试,最后上架MCP以及智能体调用MCP插件

一年一度的ZEEKLOG博客之星活动现已开启!时光飞逝,2025的代码即将合上尾页,指针向前,2026的技术新篇静待启封。这一年,我依然坚持在ZEEKLOG平台持续创作,也见证了AI与智能体领域的持续升温,特别是MCP(模型上下文协议)技术带来的崭新突破。 值此ZEEKLOG平台年度技术盛会之际,博主将撰写一篇技术实战总结型文章,系统分享如何利用AI高效开发MCP服务插件,涵盖从本地调试、线上部署到智能体使用的全流程。 目录 * MCP简介 * 安装插件 * MCP开发 * 创建表 * 提示词 * 启动服务 * 本地部署MCP * 调用测试 * 线上部署 * 上传源码 * 安装Python * 安装依赖 * 启动服务 * nginx反向代理 * 本地测试 * 上架MCP * 使用MCP * MCP和API区别 * 总结 MCP简介 MCP(Model Context Protocol,模型上下文协议) 是专为大语言模型(LLM)应用设计的开放协议,旨在实现 LLM 与外部工具和数据源的无