当前位置:  开发笔记 > 开发工具 > 正文

git clone S3错误:403禁止

如何解决《gitcloneS3错误:403禁止》经验,为你挑选了1个好方法。

我希望能够将git存储库同步到AWS S3进行备份。此外,我希望公众能够git clone备份。我的步骤是:

s3cmd mb s3://lktesting
git update-server-info
s3cmd -P sync .git/ s3://lktesting
s3cmd ws-create s3://lktesting
s3cmd ws-info s3://lktesting

我以为这曾经有用,但现在我得到了:

git clone http://lktesting.s3-website-ap-southeast-1.amazonaws.com/
Cloning into 'lktesting.s3-website-ap-southeast-1.amazonaws.com'...
error: The requested URL returned error: 403 Forbidden (curl_result = 22, http_code = 403, sha1 = bf866b95d9517ea38e213740cead5cf1c313f5aa)
Checking connectivity... done.

有人知道我在想什么吗?



1> Bruno De Fra..:

下面的Git对象.git可能作为单个文件存在,也可能存在git pack中。在Git的哑HTTP协议将尝试获取一个对象作为一个单独的文件,且仅当此失败,“404未发现”,它会寻找一个包。

显然,如果您向所有人授予“列表”权限,则Amazon S3存储桶将仅返回404代码:如何为存储桶中不存在的密钥提供S3存储桶返回404(而不是403)/

更新:您可以使用AWS CLI和来自s3api的put-bucket-acl分配必要的权限。

在S3存储桶中托管可克隆git存储库的完整命令序列:

BUCKET=my-bucket-name

# Setup
aws s3 mb s3://$BUCKET
aws s3api put-bucket-acl --bucket $BUCKET --acl public-read

# Sync
git update-server-info
aws s3 sync --acl public-read .git s3://$BUCKET

# Clone
git clone https://$BUCKET.s3.amazonaws.com

推荐阅读
保佑欣疼你的芯疼
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有