
原文: https://mp.weixin.qq.com/s/40MLBs6Kyt_mcV6xs024RA
首先,理解Google Cloud 免费服务器流量消耗对于保持在免费层内至关重要。
只要您合理使用,例如不是作为大流量的公共下载服务器,每月 1GB/200GB 的免费出站流量对于个人 WebDAV 使用 (文件同步、备份、偶尔的远程访问) 通常是足够的。我个人主要用于 1panel 定时备份服务器
准备工作:
Google Cloud Platform (GCP) 提供了一个“永久免费层”,允许用户在特定限制下免费使用其部分云服务。
官网地址:https://cloud.google.com/
步骤:
注册 Google Cloud 账户:

了解免费层与免费试用:
创建免费的虚拟机 (VM) 实例:

点击“创建实例”。
配置实例:
my-free-webdav-server。us-west1 (俄勒冈)us-central1 (爱荷华)us-east1 (南卡罗来纳) (截至 2024 年,这些区域通常提供免费层实例,具体请参考 GCP 免费层官方文档)e2-micro (2 个 vCPU ,1 GB 内存)。这是当前主要的免费层实例类型。*(旧的 f1-micro 可能仍在某些文档中提及,但 e2-micro 是目前推荐的免费实例)*
引导磁盘 (Boot disk):

数据保护: 关闭快照功能,避免扣费!


点击“创建”并等待实例启动。
注意事项 (非常重要!):
e2-micro (或旧的 f1-micro) 实例才在免费层范围内。e2-micro。其他类型会产生费用。
Rclone 是一个功能强大的命令行工具,用于管理云存储。我们将用它来连接 Google Drive 。
Rclone 官网: https://rclone.org/
连接到您的 VM 实例:
更新系统 (推荐): 在 SSH 终端中,运行以下命令更新软件包列表和已安装的软件包:
sudo apt update sudo apt upgrade -y 安装 Rclone: 运行以下官方推荐的安装脚本:
sudo -v ; curl https://rclone.org/install.sh | sudo bash 安装完成后,可以通过 rclone version 检查是否成功。
配置 Rclone 连接到 Google Drive:
在 SSH 终端中输入:
rclone config 开始配置:
n) New remotename> 输入一个远程存储的名称,例如 MyGoogleDrive (后续命令会用到这个名字)。Storage> 寻找到 drive (Google Drive) 对应的数字并输入,然后按 Enter 。client_id> **直接按 Enter (留空,替换自己的效果更佳!可以谷歌搜索一下)**。client_secret> **直接按 Enter (留空,替换自己的效果更佳!可以谷歌搜索一下)**。scope> 选择 1 (Full access all files, excluding Application Data Folder)。root_folder_id> **直接按 Enter (留空,表示整个 Drive)**。如果只想挂载特定文件夹,可以填入该文件夹的 ID 。service_account_file> **直接按 Enter (留空)**。Edit advanced config? 输入 n (No),然后按 Enter 。Use auto config? 输入 n (No),然后按 Enter 。(这一步由于服务器没有桌面,所以选 n)

Configure this as a team drive? 如果您用的是个人 Drive ,输入 n (No)。如果是团队盘,则输入 y 并按照提示操作。y/e/d/r/c/q> 输入 y (Yes this is OK) 保存配置。q) Quit config 。创建挂载点和缓存目录: 我们需要在服务器上创建目录,用于挂载 Google Drive 和存放缓存文件。
sudo mkdir -p /wangwang/google sudo mkdir -p /wangwang/webcache 这里的 /wangwang/google 是 Google Drive 的挂载点,/wangwang/webcache 是 Rclone VFS 缓存的存放位置。您可以根据喜好更改路径,但请确保后续命令中的路径一致。
挂载 Google Drive (测试性挂载,非后台运行): 为了确保配置正确,可以先尝试在前台挂载:
rclone mount MyGoogleDrive: /wangwang/google --allow-other --allow-non-empty --vfs-cache-mode writes MyGoogleDrive: 替换为您在 rclone config 中设置的远程存储名称。/wangwang/google 是您创建的本地挂载目录。--allow-other:允许非 root 用户访问挂载点。--allow-non-empty:允许挂载到非空目录(尽管我们刚创建的目录是空的)。--vfs-cache-mode writes:写入时使用缓存,可以提高小文件写入性能。打开新的 SSH 窗口 (不要关闭当前的),然后尝试访问挂载点:
ls /wangwang/google 如果您能看到 Google Drive 里的文件和文件夹,说明挂载成功! 回到第一个 SSH 窗口,按 Ctrl+C 停止前台挂载。后台挂载使用下面命令!
rclone mount MyGoogleDrive: /wangwang/google --allow-other --allow-non-empty --vfs-cache-mode writes --daemon 
第三部分:使用 Rclone 启动 WebDAV 服务并后台运行
现在我们将配置 Rclone 以 WebDAV 方式提供服务,并让它在后台持续运行。
启动 WebDAV 服务的命令:
nohup rclone serve webdav MyGoogleDrive: --addr :8080 --vfs-cache-mode full --cache-dir /wangwang/webcache --vfs-cache-max-size 20G --vfs-cache-max-age 5m --vfs-cache-poll-interval 30s --user aaaa --pass bbbb --daemon > /wangwang/rclone-webdav.log 2>&1 & 命令详解:
nohup ... &:nohup 使命令在您退出 SSH 后继续运行,& 使命令在后台运行。rclone serve webdav MyGoogleDrive::MyGoogleDrive::您配置的 Google Drive 远程存储名称。您也可以指定一个子目录,例如 MyGoogleDrive:MyFolder/SubFolder,那么 WebDAV 服务将只提供这个子目录的内容。--addr :8080:WebDAV 服务监听的 IP 地址和端口。:8080 表示监听本机所有 IP 地址的 8080 端口。您可以更改为其他未被占用的端口,例如 :5005。--vfs-cache-mode full:启用完整的 VFS 缓存模式。 这意味着 Rclone 会在本地磁盘(由 --cache-dir 指定)缓存文件的结构和内容。这对于频繁访问的文件能显著提高性能并减少对 Google Drive API 的直接请求。--cache-dir /wangwang/webcache:指定 VFS 缓存的存储目录(我们之前创建的)。--vfs-cache-max-size 20G:设置 VFS 缓存的最大容量为 20GB 。请确保这个值小于您服务器的可用磁盘空间,并考虑免费层 30GB 磁盘的总限制。--vfs-cache-max-age 5m:缓存中的文件在未被访问 5 分钟后被视为过期,可能会被清理以腾出空间。--vfs-cache-poll-interval 30s:每 30 秒检查远程 Google Drive 是否有变化,以更新缓存。--user aaaa --pass bbbb:设置 WebDAV 服务的用户名和密码。请务必将 aaaa 和 bbbb 替换为您自己的强密码! 这是保护您数据安全的关键。--daemon:让 rclone mount 命令本身作为守护进程在后台运行(对于 serve webdav,配合 nohup 和 & 可以确保其稳定后台运行)。> /wangwang/rclone-webdav.log 2>&1:将标准输出和错误输出都重定向到 /wangwang/rclone-webdav.log 文件中,方便排查问题。运行上述命令后,Rclone WebDAV 服务就会在后台启动。 您可以通过以下命令查看日志:
tail -f /wangwang/rclone-webdav.log 按 `Ctrl+C` 退出日志查看。 第四部分:配置 GCP 防火墙允许 WebDAV 端口
为了能从外部访问您搭建的 WebDAV 服务,需要在 GCP 的防火墙中允许您设置的端口(例如 8080 )。
在 Google Cloud 控制台,导航到 VPC 网络 > 防火墙。
点击顶部的“创建防火墙规则”。

配置规则:
allow-webdav-8080。default。1000 (默认即可)。webdav-server。之后,您需要回到 VM 实例的编辑页面,在“网络标记”中添加这个 webdav-server 标记。0.0.0.0/0 (表示允许来自任何 IP 地址的访问)。如果您知道自己客户端的固定 IP 地址,为了安全,可以只填写您的 IP 地址。tcp,并在下方的框中输入您为 WebDAV 服务设置的端口号,例如 8080 (如果您用了其他端口,请修改)。
点击“创建”。防火墙规则可能需要几十秒到几分钟生效。
第五部分:访问您的 WebDAV 服务
获取服务器的外部 IP 地址:
使用 WebDAV 客户端连接: 您可以使用各种支持 WebDAV 协议的客户端软件来连接您的服务。
http://<您的服务器外部 IP 地址>:<您设置的端口号> 例如:http://34.123.45.67:8080--user (例如 aaaa)。--pass (例如 bbbb)。
至此,教程就完结了,你可以在需要同步或者备份的地方使用这个 webdav 了!
重要提示和最佳实践:

0.0.0.0/0,以增强安全性。sudo apt update && sudo apt upgrade -y) 和 Rclone (sudo -v ; curl https://rclone.org/install.sh | sudo bash 会自动更新到最新版)。e2-micro 限制: e2-micro 实例的 CPU 和内存资源有限,不适合高并发或计算密集型任务。但对于个人 WebDAV 服务来说是足够的。ps aux | grep rclone 找到 Rclone 进程的 PID ,再用 sudo kill <PID> 来结束它。结语
通过以上步骤,您应该已经成功在 Google Cloud 的免费服务器上搭建了一个基于 Rclone 的 WebDAV 服务,将您的 Google Drive 变成了可远程访问的私人云盘。由于 GCP 免费层提供的资源以及 Rclone 强大的缓存机制,您可以经济高效地拥有这样一个实用工具。
1 Proxy233 170 天前 好麻烦,省流:国内 1GB/月免费流量,超过 1G 开始收费 /dog |
4 ronman 170 天前 普通人的话,坚果云免费流量足够了 |
5 3573535 169 天前 via iPhone 免费层级 每月前 200 GiB 免费(所有区域的每个账号) 所有地区均提供有免费层级,并且所有地区都会计算使用量。了解详情 不是 200g 是全球通用的吗 |
6 v2er119 169 天前 @3573535 不包括中国大陆,cf 的流量也不免费。使用一年多了,轻应用没问题的。 https://maifeipin.com/archives/google-lao-zhang-hao--ye-ke-yi-mian-fei-shi-yong-gcp-le#google_vignette |
8 3573535 169 天前 via iPhone 谷歌云 GCP 的流量收费规则如下: 1. 网络“入站”( Ingress )是 免费的 所有区域对你从 Internet 或其他资源流入 GCP 的流量都不收费 。 2. 网络“出站”( Egress )是 收费的,但有免费额度: Always Free 永久免费额度( Premium Tier ,骨干网络) 免费提供每月 1GB 出站流量( Premium Tier ),不包括到中国和澳大利亚 。 该额度适用于 Premium Tier 下由 GCP 骨干网络传出的流量(即默认网络服务等级)。 免费标准层额度( Standard Tier ,自选网络层) 从 2023 年 10 月 1 日起,Google 对 Standard Tier (标准网络)提供的 每地域每月 200GB 免费出站流量 。 这 200GB 是 标准层专属优惠,必须在创建 VM 时选择 “Standard Tier”(标准网络)。 超出后将按标准 Standard Tier 收费 。 3. 中国区的差别 永久免费额度的那 1GB Premium Tier 出站 不适用于中国和澳大利亚 。 而 Standard Tier 的 200GB 免费 适用于所有 Standard Tier 流量,包括发往全球或中国,但仅针对在 标准网络层级下 的流量。 总结表格 项目 免费额度 适用网络层级 中国区覆盖情况 永久免费 Always Free 每月 1GB Premium Tier 出站 Premium Tier (骨干网) 不包括中国、澳大利亚 Standard Tier 免费额度 每地区每月 200GB Standard Tier (标准层) 包含所有区域,包括中国 回答你的问题 1. “GCP 流量是收费的吗?” 是的,出站流量( Egress )是收费的。只有入站免费,出站除免费额度外须付费。 2. “对于中国免费流量是 1GB 吗?” 永久免费额度只包括 Premium Tier 出站 1GB ,但不适用于中国。 如果选择 Standard Tier ,每地域每月有 200GB 免费,这包括去中国的流量。 3. “有 200GB 的免费普通流量流出吗?” 有的,只需在 VM 网络选项中选择 Standard Tier ,即可享有标准层的 200GB 免费出站流量,按地域独立计算 。 实用建议 若常访问中国大陆或亚太用户,建议使用 Standard Tier 来享受 200GB 免费额度。 确保 创建 VM 时选择 Standard Tier ,否则默认是 Premium Tier ,不会触发 200GB 优惠。 安装后,仍需关注账单和 SKU 用量,避免因选择错误或超额造成费用。 如需我帮你看一下在哪选 Standard Tier ,或者如何配置脚本避免意外流量,随时告诉我 |
9 kdsland 169 天前 InfiniCLOUD 注册就有 20G ,每年还有周年活动送容量 |