很多人都说这个问题跟环境有关,但是我似乎还不能解决这个问题。 BTW我正在使用Ubuntu 9.10login作为用户,然后sudo -s使用这个命令: s3cmd put file s3://bucket >>工作! 现在这里是用于testing的简单脚本: #! /bin/bash env >/tmp/cronjob.log s3cmd放置文件s3://存储桶 发出命令crontab -e * * * * * /opt/script 2>&1 | logger 然后使用尾部到syslogs 12月3日23:22:01 Ubuntu的CRON [10795] :(根)CMD(/ opt / script 2>&1 | logger) 但通过在s3Fox Organizer上validation,文件没有上传。 (我试着改变#! /bin/sh (没有效果),把cron放在/etc/crontab (没有效果),设置HOME=/home/user 还有什么其他的select可以尝试? 或者用其他方法来debugging这个问题。 谢谢
我正在尝试做一些应该相对简单的事情 – 我想设置一些域和子域来redirect到我们网站的核心域,但是我想把redirect放在Cloudfront上。 除了redirect根path之外,所有东西都可以工作 – 这就是我的XML文件的一部分 – 描述S3存储桶。 背景 S3 S3允许你设置一个全redirect桶 ,如: testing这个,web端点(brass9-com.s3-website-us-west-1.amazonaws.com)做它应该做的事情 – redirect到brass9.com。 好。 CloudFront的 Cloudfront可以让你指向一个S3存储桶,但是它build议你这么做的方式是错误的 – 而不是像名称brass9-com.s3.amazonaws.com那样指向存储桶, 你需要使用上面的Web端点 。 除此之外,您可以将所有内容保留为默认值并获得良好的redirect行为。 所以,像www.brass9.com/portfolio这样的path可以正确地redirect到它应该在的位置。 也不错。 问题 – 根域redirect 那么一件没有成功的事情就是从简单的www.brass9.comredirect。 而不是让你redirect它让你这个奇怪的结果: <?xml version="1.0" encoding="UTF-8"?> <ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Name>brass9-com</Name><Prefix></Prefix> <Marker></Marker><MaxKeys>1000</MaxKeys><IsTruncated>false</IsTruncated> </ListBucketResult> 好… 。 所以这并不是完全意外 – 因为没有默认的根对象。 但是,我可能指定什么默认根对象来防止这种行为? 什么是S3redirect对象的名称,如果有的话,我需要指向? 还是有其他一些适当的configuration,或者这只是Amazon的需要解决的Cloudfront和S3如何交互的一个错误? 已知不工作的解决scheme:默认的根对象 可以指定一个index.html的默认根对象,但它没有任何帮助 – 它只是改变了问题。 Cloudfronturl改为redirect到主网站上的/index.html,这是一个404(我们不使用index.html文件,它是一个服务器端框架驱动的网站)。 我可以把一个index.html放在服务器上,但是这首先打破了使用Cloudfront的小小的好处。 类似的问题 有一个问题提出了类似的问题,但是由于某种原因,取回了空白的0字节响应 ,而不是我所看到的XML响应。 […]
我已经看了Amazon S3,每个月100Mb / s的成本大约是每月4746美元(相当于31,640千兆字节的数据传输速度,每演出0.15美元)。 我还没有find更便宜的“云”选项。 我很好奇,如果有任何其他云托pipe选项比S3便宜。 正常运行时间不是问题,因为我可以在浏览器中为大多数事情构build故障转移。 例如,我可以使用JavaScript来说“如果图像没有加载,然后转到这个其他的URL”。 仅供参考我目前使用的托pipe设施比S3便宜约30%,而且我熟悉可乐的价格 – 所以这个问题实际上是关于“云”的服务,而我的意思是服务,我不必担心关于基础设施。
我在Ubuntu 9.10 x86上使用s3fs 1.33。 我用这个命令手动挂载它: sudo /usr/bin/s3fs mybucket /mnt/s3/mybucket -ouse_cache=/tmp 我怎样才能强制启动安装? 我想我必须写一些东西给/etc/fstab 。 但是什么? 我怎么testing它,而无需重新启动服务器?
我们正在开发一个networking应用程序,其中(其他function)用户可以上传文件。 但是,由于存储空间有限,我们无法将这些文件存储在我们的VPS上,因此我们决定使用S3。 主要的问题是我们必须确保用户只能访问他们自己的数据。 所以我们保留数据库中的文件列表,以及有权访问的用户列表。 我们的服务器可以很容易地决定用户是否有权访问文件。 但是如何实际向用户提供文件呢? 我已经考虑过一些可能性,但是其中没有一个似乎是最好的。 1.使用PHP生成(过期)签名的URL 这是一个非常简单的方法,速度也很快,但是会导致非常非常非常丑陋和长期的结果。 以下是如何做到这一点 。 2.混淆的url 这意味着,我们将这些文件公开在S3上进行读取,但是所有文件都存储在难以猜测的命名文件夹中,例如: 24fa0b8ef0ebb6e99c64be8092d3ede20000 。 不过,也许这不是最安全的方法。 即使你永远不会猜到一个文件夹名称,当你知道它(因为你实际上有权访问它),你可以与任何人(任何未经授权的人)分享该链接。 3.通过我们的服务器下载文件 这意味着这些文件不是由S3直接提供的,而是我们的服务器首先安全地读取文件并提供服务。 我们真的不想要这个:) 4.检查推荐人 可以通过“确保”请求来自我们的服务器(您可以设置S3来检查引用者)来改进混淆url解决scheme。 然而,这将是一个非常不可靠的解决scheme,因为不是所有的浏览器发送引用数据,它也可以是伪造的。 从不同的客户端安全地向Amazon S3提供文件的好方法是什么?
我有一个网页( https://smartystreets.com/contact ),它使用jQuery从S3通过CloudFront CDN加载一些SVG文件。 在Chrome中,我将打开一个隐身窗口以及控制台。 然后我将加载页面。 在加载页面时,我通常会在控制台中看到6到8个类似于以下内容的消息: XMLHttpRequest cannot load https://d79i1fxsrar4t.cloudfront.net/assets/img/feature-icons/documentation.08e71af6.svg. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://smartystreets.com' is therefore not allowed access. 如果我做了一个标准的页面重新载入,甚至多次,我仍然得到相同的错误。 如果我做了Command+Shift+R那么大多数,有时甚至所有的图像都会加载,而不会出现XMLHttpRequest错误。 有时甚至在图像加载之后,我将刷新,并且一个或多个图像将不会加载并再次返回XMLHttpRequest错误。 我已经检查,更改并重新检查了S3和Cloudfront上的设置。 在S3中,我的CORSconfiguration如下所示: <?xml version="1.0" encoding="UTF-8"?> <CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <CORSRule> <AllowedOrigin>*</AllowedOrigin> <AllowedOrigin>http://*</AllowedOrigin> <AllowedOrigin>https://*</AllowedOrigin> <AllowedMethod>GET</AllowedMethod> <MaxAgeSeconds>3000</MaxAgeSeconds> <AllowedHeader>Authorization</AllowedHeader> </CORSRule> </CORSConfiguration> (注意:最初只有<AllowedOrigin>*</AllowedOrigin> ,同样的问题。) 在CloudFront中,分配行为设置为允许HTTP方法: GET, HEAD, OPTIONS 。 caching的方法是一样的。 转发头设置为“白名单”,白名单包括“访问控制请求头,访问控制请求方法,来源”。 […]
Amazon S3中的存储Buckets和Folders什么区别? 在Amazon S3中是否存在像Folder这样的事物? 或者只有S3客户提供给我们更好的处理Folders ?
基本上,Amazon S3如何处理已在指定存储桶中具有相同文件名的文件? 假设我只能上传到一个特定的桶,S3会改变文件名或什么? 谢谢!
它曾经是我最喜欢的备份传输代理,但现在我经常从同一个Ubuntu服务器/networking上的s3cmd获得这个结果: root@server:/home/backups# s3cmd put bkup.tgz s3://mybucket/ bkup.tgz -> s3://mybucket/bkup.tgz [1 of 1] 36864 of 2711541519 0% in 1s 20.95 kB/s failed WARNING: Upload failed: /bkup.tgz ([Errno 32] Broken pipe) WARNING: Retrying on lower speed (throttle=0.00) WARNING: Waiting 3 sec… bkup.tgz -> s3://mybucket/bkup.tgz [1 of 1] 36864 of 2711541519 0% in 1s 23.96 kB/s failed WARNING: […]
这个当前的项目需要将数据库转储,encryption并推送到s3。 我想知道什么可能是这样一个任务的一些“最佳实践”。 到目前为止,我正在使用一个非常直接的方法,但是希望在安全性方面有一些更好的想法。 这是我的脚本的开始: mysqldump -u root –password="lepass" –all-databases –single-transaction > db.backup.sql tar -c db.backup.sql | openssl des3 -salt –passphrase foopass > db.backup.tarfile s3put backup/db.backup.tarfile db.backup.tarfile # Let's pull it down again and untar it for kicks s3get surgeryflow-backup/db/db.backup.tarfile db.backup.tarfile cat db.backup.tarfile | openssl des3 -d -salt –passphrase foopass |tar -xvj 显然问题是这个脚本是攻击者需要提升的地狱。 任何想法,批评和build议这项任务将不胜感激。