Questions tagged «amazon-s3»

Amazon S3(简单存储服务)是Amazon Web Services的在线对象存储服务。问题必须与编程有关。有关常规S3支持,功能,配置等的问题不在主题范围内。

28
正在下载整个S3存储桶?
我注意到似乎没有选择从AWS管理控制台下载整个S3存储桶的选项。 有没有一种简单的方法可以将所有东西都放在我的一个存储桶中?我当时正在考虑将根文件夹wget设为公用,使用它来获取所有内容,然后再次将其设为私有,但是我不知道是否有更简单的方法。

2
在Amazon S3中公开存储桶
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 7年前关闭。 改善这个问题 如何在Amazon S3中设置存储桶,以便默认情况下所有文件均为公开只读状态?

12
在Amazon Cloud Server上设置FTP [关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 去年关闭。 改善这个问题 我试图在Amazon Cloud Server上设置FTP,但是没有运气。我在网上搜索,没有具体步骤。 我发现这些命令可以运行: $ yum install vsftpd $ ec2-authorize default -p 20-21 $ ec2-authorize default -p 1024-1048 $ vi /etc/vsftpd/vsftpd.conf #<em>---Add following lines at the end of file---</em> pasv_enable=YES pasv_min_port=1024 pasv_max_port=1048 pasv_address=<Public IP of your instance> $ /etc/init.d/vsftpd restart 但是我不知道在哪里写。

13
S3静态网站托管将所有路径路由到Index.html
我正在使用S3托管将使用HTML5 pushStates的JavaScript应用。问题是,如果用户对任何URL加书签,它将无法解析为任何内容。我需要的是能够处理所有url请求并在我的S3存储桶中提供根index.html的功能,而不仅仅是进行完全重定向。然后我的javascript应用程序可以解析URL并提供适当的页面。 有没有办法告诉S3为所有URL请求提供index.html而不是进行重定向?这类似于通过提供单个index.html来设置apache来处理所有传入请求,例如本示例:https : //stackoverflow.com/a/10647521/1762614。我真的想避免只运行Web服务器来处理这些路由。从S3执行所有操作都非常有吸引力。


6
REST身份验证方案的安全性
背景: 我正在为REST Web服务设计身份验证方案。这并不是“真正”需要安全的(它更多是一个个人项目),但我想使其与练习/学习经验一样安全。我不想使用SSL,因为我不想麻烦,而在大多数情况下,它不需要设置它。 这些SO问题对于帮助我入门特别有用: RESTful身份验证 保护REST API /网络服务的最佳做法 最佳SOAP / REST / RPC Web API的示例?你为什么喜欢他们?那他们怎么了? 我正在考虑使用Amazon S3身份验证的简化版本(我喜欢OAuth,但对于我的需求而言似乎太复杂了)。我在请求中添加了服务器提供的随机生成的随机数,以防止重放攻击。 要解决这个问题: S3和OAuth都依赖于对请求URL以及一些选定的标头进行签名。他们都没有在 POST或PUT请求的请求主体上签名。这难道不容易受到中间人攻击,这种中间人攻击会保留url和标头并用攻击者想要的任何数据替换请求正文? 似乎我可以通过在请求的字符串中包含请求主体的哈希值来防止这种情况发生。这样安全吗?


12
列出带有boto3的存储桶的内容
如何查看S3中的存储桶中的内容boto3?(即是"ls")? 执行以下操作: import boto3 s3 = boto3.resource('s3') my_bucket = s3.Bucket('some/path/') 返回: s3.Bucket(name='some/path/') 我如何看其内容?
197 python  amazon-s3  boto  boto3 

6
通过S3从Amazon CloudFront提供压缩的CSS和JavaScript
我一直在寻找使网站加载速度更快的方法,而我想探索的一种方法是更多地使用Cloudfront。 由于Cloudfront最初不是设计为自定义CDN的,并且因为它不支持gziping,所以到目前为止,我一直在使用它来托管我的所有图像,这些图像在我的站点代码中由它们的Cloudfront cname引用,并经过了优化-futures标头。 另一方面,CSS和javascript文件托管在我自己的服务器上,因为到目前为止,我一直无法从Cloudfront中获得CSS和javascript文件的印象,而获得gzip压缩(大约75%)的收益超过了使用CDN(约占50%):Amazon S3(因此也就是Cloudfront)不支持使用浏览器发送的HTTP Accept-Encoding标头以标准方式提供压缩内容,以表明他们支持gzip压缩,并且因此他们无法即时压缩和提供组件。 因此,直到现在,我的印象是,必须在两种选择之间进行选择: 将所有资产移至Amazon CloudFront,而不必担心GZipping; 保持组件自托管,并配置我们的服务器以检测传入的请求,并根据需要即时执行GZipping,这是我到目前为止选择的操作。 还有人变通办法来解决这个问题,但本质上这些没有工作。[ 链接 ]。 现在,Amazon Cloudfront似乎支持自定义来源,并且如果您正在使用“自定义来源” [ link ],现在可以使用标准的HTTP Accept-Encoding方法来提供压缩后的内容。 到目前为止,我还无法在服务器上实现新功能。我上面链接到的博客文章,这是我发现的唯一详细介绍此更改的文章,似乎暗示着,如果您选择自定义来源,则只能启用gziping(我不想使用的栏变通方法)。我宁愿不要:我发现将Coresponding的文件托管在Cloudfront服务器上并从那里链接到它们更简单。尽管仔细阅读了文档,但我不知道: 新功能是否意味着文件应该通过自定义来源托管在我自己的域服务器上,如果是,则通过什么代码设置可以实现此目的; 如何配置css和javascript标头,以确保从Cloudfront压缩后提供它们。

23
S3-访问控制允许来源标头
是否有人设法添加Access-Control-Allow-Origin到响应头中?我需要的是这样的: <img src="http://360assets.s3.amazonaws.com/tours/8b16734d-336c-48c7-95c4-3a93fa023a57/1_AU_COM_180212_Areitbahn_Hahnkoplift_Bergstation.tiles/l2_f_0101.jpg" /> 此get请求应包含在响应中,标头, Access-Control-Allow-Origin: * 我的存储分区的CORS设置如下所示: <?xml version="1.0" encoding="UTF-8"?> <CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <CORSRule> <AllowedOrigin>*</AllowedOrigin> <AllowedMethod>GET</AllowedMethod> <MaxAgeSeconds>3000</MaxAgeSeconds> <AllowedHeader>*</AllowedHeader> </CORSRule> </CORSConfiguration> 如您所料,没有Origin响应头。

14
AWS S3:您尝试访问的存储桶必须使用指定的终结点进行寻址
我正在尝试使用AWS-SDK-Core Ruby Gem删除上传的图像文件。 我有以下代码: require 'aws-sdk-core' def pull_picture(picture) Aws.config = { :access_key_id => ENV["AWS_ACCESS_KEY_ID"], :secret_access_key => ENV["AWS_SECRET_ACCESS_KEY"], :region => 'us-west-2' } s3 = Aws::S3::Client.new test = s3.get_object( :bucket => ENV["AWS_S3_BUCKET"], :key => picture.image_url.split('/')[-2], ) end 但是,我收到以下错误: 您尝试访问的存储桶必须使用指定的端点进行寻址。请将所有将来的请求发送到该端点。 我知道该区域是正确的,因为如果将其更改为us-east-1,则会显示以下错误: 指定的密钥不存在。 我在这里做错了什么?

7
AWS错误消息:针对此资源,当前正在进行冲突的条件操作
我间歇性地收到此错误。 我有一个使用java aws sdk的程序,并将数十万个小文件加载到s3。我间歇性地看到此错误。 在互联网上快速搜索后找不到任何有用的答案。 请注意,调用程序是单线程的。底层的aws java sdk似乎使用了工作线程。 Status Code: 409, AWS Service: Amazon S3, AWS Request ID: 75E16E8DE2193CA6, AWS Error Code: OperationAborted, AWS Error Message: A conflicting conditional operation is currently in progress against this resource. Please try again., S3 Extended Request ID: 0uquw2YEoFamLldm+c/p412Lzd8jHJGFBDz3h7wN+/4I0f6hnGLkPMe+5LZazKnZ at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:552) at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:289) at …

1
Amazon S3-HTTPS / SSL-有可能吗?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 7年前关闭。 改善这个问题 我看到了与此有关的其他一些问题,但没有任何真实的答案或信息(或看起来如此)。 我在这里有一个图片:http : //furniture.retailcatalog.us/products/2061/6262u9665.jpg 重定向到:http : //furniture.retailcatalog.us.s3.amazonaws.com/products/2061/6262u9665.jpg 我需要它是(https):https: //furniture.retailcatalog.us/products/2061/6262u9665.jpg 因此,我在retailcatalog.us(我们还有其他子域)上安装了通配符ssl,但它无法正常工作。我去检查了 https://furniture.retailcatalog.us.s3.amazonaws.com/products/2061/6262u9665.jpg 而且它不起作用,这意味着在Amazon S3网站本身上的https不起作用。 我该如何工作?

23
使用boto3检查s3中存储桶中是否存在密钥
我想知道boto3中是否存在密钥。我可以循环存储桶中的内容并检查密钥是否匹配。 但这似乎更长,并且是一个过大的杀伤力。Boto3官方文档明确说明了如何执行此操作。 可能是我缺少明显之处。谁能指出我如何实现这一目标。
164 python  amazon-s3  boto3 

9
从客户端浏览器直接上传Amazon S3文件-私钥披露
我正在使用REST API通过REST API实现从客户端计算机到Amazon S3的直接文件上传,而没有任何服务器端代码。一切正常,但有一件事让我担心。 当我向Amazon S3 REST API发送请求时,我需要对请求进行签名并将签名放入Authentication标头中。要创建签名,我必须使用我的密钥。但是所有事情都是在客户端发生的,因此,可以很容易地从页面源中揭示密钥(即使我混淆/加密了源)。 我该如何处理?这是一个问题吗?也许我只能将特定私钥的使用限制为仅来自特定CORS Origin的REST API调用,以及仅PUT和POST方法,或者仅将密钥链接到S3和特定存储桶?可能还有另一种身份验证方法? “无服务器”解决方案是理想的选择,但是我可以考虑进行一些服务器端处理,而不是将文件上传到服务器,然后再发送到S3。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.