使用 rclone 提供的 webdav 服务替换 IIS
前情提要 #
(提升安全性:Nginx 反向代理 RDP 和 IIS 服务)
在之前的文章里,webdav 服务由系统自带的 IIS 来提供,由于该服务依赖于系统账号以及众所周知 Windows 自带服务安全性问题的原因,所以时隔这么久以后,我决定把 IIS 替换为 rclone 来进一步降低安全风险。
方案选择 #
在 Windows 上提供 webdav 服务的除了有我之前使用的 IIS 以外还有 Nginx,Apache,rclone 等等。IIS 因为与系统的耦合度有些高且之前 Samba 爆出过大漏洞所以弃用;Nginx 在 2019 年的帖子有提到缺少PROPFIND
方法导致有些客户端无法创建文件,不过之后有没有修复我没有查,如果之后只有一个服务端的话可以考虑使用整合的 Nginx;Apache不熟。最后选择 rclone 是因为我先前已经部署了将硬盘内容加密冷备份到 OneDrive 的任务(见加密增量冷备份),无需重新了解 rclone。
原有配置项 #
按照原有配置项进行配置,最后只要关闭 IIS 并替换成 rclone 就行。无需修改原有 nginx 配置。
名称 | 内容 |
---|---|
绑定 | 192.168.208.145:8088 |
目标文件夹 | G:\ |
基础地址 | /S4f_/ |
用户名 | share |
密码 | share024pass |
完成后,点击这个任务的属性,在常规
选项卡的安全选项
中,选择不管用户是否登录都要运行
并输入密码,取消勾选如果任务运行时间超过以下时间,停止任务
。
rclone 运行脚本 #
rclone 版本 v1.54.0
|
|
设置自启动 #
打开任务计划程序
,点击创建基本任务
,按照下表填写任务信息:
选项 | 内容 |
---|---|
名称 | webdav |
触发器 | 计算机启动时 |
操作 | 启动程序 |
程序或脚本 | [运行脚本所在的位置]\webdav.bat |
关闭 IIS #
删除用户 #
进入控制面板\用户帐户\用户帐户
,选择管理其他账户
,点击原先为了 IIS 认证创建的本地账户,点击删除账户
。
移除服务 #
运行中输入services.msc
,禁用并停止World Wide Web Publishing Service
(发布服务)。
进入控制面板\程序\程序和功能
,点击启用或关闭 Windows 功能
。取消Internet Information Services
下所有的勾。
结论 #
不要过早优化!!因为很多情况下早期使用的方案在没有实践的情况下往往会有许多坑要踩,如果过早地造轮子进行优化,等到后续更换到其他方案时相当于前期的很多重复作业都等于白做。另外,IIS配置太繁琐了,坑也一堆,例如,要修改配置才能达到最大4G单个文件,内部限制速度最大只有200M等等。
附录: Crostini 启动挂载脚本 #
|
|
附录:在 Crostini 上使用 vs code 出现的问题 #
https://gist.github.com/bzub/65aabace4a60874c61ece4838b6219f3
vs code 有些时候会出现无法打开/一直转圆圈的问题,实际上手动重启systemctl --user restart sommelier@0.service
服务即可解决。
If you can’t get X11 or Wayland GUI Linux apps to start anymore on Chrome OS, try the following.
In the Terminal app, this will show the status of your systemd user services/units:
|
|
If sommelier@0.service
and sommelier-x@0.service
show a failed status, the following worked for me:
|
|
Check again to see if those services are started now:
|
|
Hopefully now X/Wayland apps work again.
|
|
时空乱流记录