我似乎无法让Facebook访问我在我的存储桶策略中打开的图形标记中的资源。
这是我目前的政策,旨在防止热链接,但允许Facebook(以及理想情况下其他社交网络)访问我的图片(和其他资源)
{
"Version": "2012-10-17",
"Id": "idance and social only",
"Statement": [
{
"Sid": "Explicitly only allow only from specific referer.",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::common-resources-idance-net/*",
"Condition": {
"StringLike": {
"aws:Referer": [
"https://example.com/*",
"*facebook*",
"*twitter*",
"*google*"
],
"aws:UserAgent": [
"*facebook*",
"*twitter*",
"*google*"
]
}
}
}
]
}
以下是Facebook Sharing Debugger链接说(并且可能是为什么)资源的抓取失败。
无法访问的图片的错误是:
could not be downloaded because it exceeded the maximum allowed sized of 8Mb or your server was too slow to respond.
但是图像不大,S3也不慢。所以我想这是一个存储桶政策问题。
我不确定我错过了什么,但有人可以说明我可能会改变什么以使其发挥作用吗?
更新:我完全删除了该政策,似乎没有任何效果。也许在抓取时需要将一些特殊的标题发送到Facebook?