Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 我应该把我的亚马逊s3存储桶放在哪个区域?_Ruby On Rails_Amazon Web Services_Amazon S3 - Fatal编程技术网

Ruby on rails 我应该把我的亚马逊s3存储桶放在哪个区域?

Ruby on rails 我应该把我的亚马逊s3存储桶放在哪个区域?,ruby-on-rails,amazon-web-services,amazon-s3,Ruby On Rails,Amazon Web Services,Amazon S3,我有一个heroku应用程序在欧洲运行 我无法在rails应用程序(RoR 6)中以表单形式上载图像,因为我的amazon s3存储桶中存在同源策略。那个桶在eu-west-1(都柏林——我以为heroku也在那里) 既然我的域名是法语,我应该把桶放在法国eu-west-3 这是我的CORS文件: <?xml version="1.0" encoding="UTF-8"?> <CORSConfiguration xmlns="http://s3.amazonaws.com/do

我有一个heroku应用程序在欧洲运行

我无法在rails应用程序(RoR 6)中以表单形式上载图像,因为我的amazon s3存储桶中存在
同源
策略。那个桶在
eu-west-1
(都柏林——我以为heroku也在那里)

既然我的域名是法语,我应该把桶放在法国
eu-west-3

这是我的CORS文件:

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
    <AllowedOrigin>https://www.cremers.fr/adm/auteur/2/article/nouveau</AllowedOrigin>
    <AllowedOrigin>https://www.cremers.fr/</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedMethod>POST</AllowedMethod>
    <AllowedMethod>PUT</AllowedMethod>
    <MaxAgeSeconds>3000</MaxAgeSeconds>
    <AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>

https://www.cremers.fr/adm/auteur/2/article/nouveau
https://www.cremers.fr/
得到
邮递
放
3000
*

您可以使用任何区域

它与域无关

您至少可以
us-east-2
us-west-1
。没关系

唯一可能影响这一点的是下载速度。如果用户在法国,那么从加拿大服务器下载的时间比从欧洲服务器下载的时间要长一点


但这一点可以忽略。

您可以使用任何区域

它与域无关

您至少可以
us-east-2
us-west-1
。没关系

唯一可能影响这一点的是下载速度。如果用户在法国,那么从加拿大服务器下载的时间比从欧洲服务器下载的时间要长一点

但这一点可以忽略。

根据AWS

AmazonS3 bucket名称是全局唯一的,并且名称空间由所有AWS帐户共享。这意味着在创建bucket之后,任何AWS区域中的其他AWS帐户都不能使用该bucket的名称,除非删除该bucket。出于可用性或安全性验证的目的,您不应该依赖于特定的bucket命名约定

AmazonS3在您指定的区域中创建bucket。要优化延迟、最小化成本或满足法规要求,请选择地理位置靠近您的任何AWS地区。例如,如果您居住在欧洲,您可能会发现在欧盟(爱尔兰)或欧盟(法兰克福)地区创建桶是有利的。有关AmazonS3区域的列表,请参见AWS常规参考中的区域和端点

因此,根据AWS选择S3 bucket region取决于您的应用程序使用情况和地区

AmazonS3 bucket名称是全局唯一的,并且名称空间由所有AWS帐户共享。这意味着在创建bucket之后,任何AWS区域中的其他AWS帐户都不能使用该bucket的名称,除非删除该bucket。出于可用性或安全性验证的目的,您不应该依赖于特定的bucket命名约定

AmazonS3在您指定的区域中创建bucket。要优化延迟、最小化成本或满足法规要求,请选择地理位置靠近您的任何AWS地区。例如,如果您居住在欧洲,您可能会发现在欧盟(爱尔兰)或欧盟(法兰克福)地区创建桶是有利的。有关AmazonS3区域的列表,请参见AWS常规参考中的区域和端点


因此,选择S3 bucket region取决于您的应用程序使用情况和地区

您确定您的Cors问题不是由于您的heroku应用程序造成的吗?Cors文件似乎很正常,因为你的应用程序有提到的来源。你确定你的Cors问题不是由于你的heroku应用程序造成的吗?Cors文件似乎很好,因为你的应用程序有提到的来源。