在Amazon S3对象上设置noindex

明天

我们有一些公共共享的S3文件,我们希望确保它们不会被Google索引。我似乎找不到有关如何执行此操作的任何文档。是否可以在单个S3对象上设置“ noindex” x-robots-tag响应标头?

(我们正在使用Ruby AWS客户端)

迈克尔-SQLbot

似乎 没有 办法做到这一点。

PUT在提取对象时,仅记录了来自S3对象请求的某些标头被返回。

http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUT.html

您发送的任何其他内容似乎都被忽略了,只要它实际上不会使请求无效。

实际上,这就是我在研究此之前所想的,这几乎是正确的。

这里文档似乎不完整,在其他地方建议以下请求标头(如果与上传一起发送)将出现在下载文件中:

Cache-Control
Content-Disposition
Content-Encoding
Content-Type
x-amz-meta-*

其他标头在后面的链接中列出,但是其中一些标头ExpectGET请求上没有意义,因此它们在逻辑上不会出现。

到目前为止,这一切都与我对S3的体验保持一致。

如果您随请求发送随机但并非无效的标头,则会将其忽略。例子:

X-Foo: bar

S3似乎在上载​​时接受了此操作,但是将其丢弃(大概不存储它)...下载对象不会返回X-Foo标头。

但这X-Robots-Tag似乎是未记录的例外。

X-Robots-Tag: noindex确实使用(例如)上载文件确实会导致在您使用对象时返回相同的标头和值GET

除非有人可以引用解释该工作原理的文档,否则我们将在完全没有文档记录的领域开展业务。

但是,如果您对此感兴趣,那么简单的答案似乎就是,您只需将此标头添加到PUT发送到REST API上载对象的HTTP请求中即可。

您说:“不是那么快,我正在使用Ruby SDK。” 的确。AWS Ruby客户端似乎太“有用”,以至于至少让您不容易地摆脱它。那里文档显示了如何添加“元数据”

:metadata(哈希)—对象要包含的元数据的哈希。这些将作为带有x-amz-meta前缀的标头发送到S3。每个名称,值对必须符合US-ASCII。

嗯,这行不通,因为您会得到x-amz-meta-x-robots-tag。

您如何在上传中设置其他标题?您通常设置的所有其他标头都是options哈希的元素,例如:cache_control,它会Cache-Control:在上载请求中变成除非他们盲目地将哈希值中的密钥应用于上载事务(这将是可怕的设计,再加上好运),否则您可能没有直接的方法来实现这一目标。我不能更加具体,因为我对Ruby的真正了解与对Java的了解相同-从我所看到的内容中,我不喜欢它。:)

但是X-Robots-Tag在某种程度上,确实没有一个明确的文档来证明S3支持一个自定义标头。至少已被REST API接受。

如果以上操作失败,则可以在上传对象后手动将此标头添加到S3控制台的元数据中。(请注意,X-Foo: Bar在S3控制台上也无法使用-它已被无提示地丢弃,没有错误-但X-Robots-Tag:效果很好)。


当然,您也可以将公共可读的robots.txt文件(其中带有适当的指令)放在存储桶的根目录中。取决于您的可能组合,路径层次结构和其他因素,这并不(可能)像选择性地设置标头一样简单,但是如果整个存储桶都包含您不想索引的信息,那么它应该可以轻松实现您想要的,因为如果robots.txt中不允许在内容中建立索引,即使搜索蜘蛛跟随着另一个站点的链接也是如此,则每个域(和子域)的robots.txt文件都是独立存在的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系debugcn@gmail.com 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为使用Fine Uploader上传的Amazon s3对象指定减少冗余存储?

来自分类Dev

使用非英语值更新Amazon S3对象的元数据

来自分类Dev

设置不带S3的Amazon Cloudfront

来自分类Dev

Amazon S3 GET对象

来自分类Dev

如何使用AWS开发工具包PHP从Amazon S3对象获取元数据?

来自分类Dev

尝试生成预签名的URL链接,以便用户可以下载Amazon S3对象,但收到无效请求

来自分类Dev

如何将具有多级子级的Amazon S3对象复制/移动到目的地?

来自分类Dev

将对象上传到Amazon s3时如何设置对象的ACL?

来自分类Dev

将对象上传到Amazon s3时如何设置对象的ACL?

来自分类Dev

使用s3cmd在QNAP上设置Amazon S3备份

来自分类Dev

使用s3cmd在QNAP上设置Amazon S3备份

来自分类Dev

Amazon s3或Cloudfront

来自分类Dev

Amazon s3或Cloudfront

来自分类Dev

在Amazon s3上传(版本3)上设置存储类

来自分类Dev

如何在Amazon S3存储桶上设置公共只读访问权限?

来自分类Dev

如何在Amazon S3中的对象上更改http响应代码

来自分类Dev

列出Amazon S3上特定文件夹中的对象

来自分类Dev

如何在Amazon S3中的对象上更改http响应代码

来自分类Dev

如何设置Amazon S3,回形针和ENV变量

来自分类Dev

Strongloop:为Amazon S3设置存储组件

来自分类Dev

Amazon S3,无法设置CORS策略

来自分类Dev

Amazon S3 GET对象访问被拒绝

来自分类Dev

删除多个对象Amazon s3 PHP SDK

来自分类Dev

Amazon S3放置对象403禁止错误

来自分类Dev

删除多个对象Amazon s3 PHP SDK

来自分类Dev

通过 Spark 查询 Amazon S3 对象元数据

来自分类Dev

撤销 Amazon S3 存储桶或对象权限

来自分类Dev

在Amazon S3上强制使用SSL

来自分类Dev

如何在Amazon S3上使用cloudflare?

Related 相关文章

热门标签

归档