使用rclone向Google Cloud Storage Coldline传文件时遇400错误求助
问题解决:GCS桶名含点导致rclone复制失败
报错原因
Google Cloud Storage(GCS)对含点的桶名有特殊验证规则:如果桶名包含.,GCS会默认认定这是域名格式的桶名,会验证其是否属于合法顶级域名。若你的桶名仅带点但不符合有效域名结构(比如my.bucket这类无正规顶级后缀的名称),就会触发该400错误。
解决方案
方案1:修改rclone配置,绕过域名验证
在你的hangint3nbackup配置段中添加一行参数,强制rclone使用路径式访问GCS,跳过虚拟主机模式下的域名验证:
[hangint3nbackup] type = google cloud storage project_number = 8XXXXXXXXXXX object_acl = authenticatedRead bucket_acl = authenticatedRead location = northamerica-northeast1 token = XXXXXXXXXXXXXXXXXXXXXXXXX virtual_host_style = false
修改后重新执行复制命令即可。
方案2:重命名GCS桶
若业务允许,直接移除桶名里的点(比如把hangint3n.backup改成hangint3nbackup),或者将桶名调整为符合有效域名格式的名称(比如backup.hangint3n.com,前提是你持有对应域名)。
验证命令
调整配置或桶名后,重新执行原命令测试:
rclone -vv copy /home/hangint3n/google_coldline/test.mp4 hangint3nbackup:
内容的提问来源于stack exchange,提问作者hangint3n
相关产品推荐
相关产品推荐

