Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.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
Amazon web services 如何将多个域名路由到同一个amazon S3存储桶位置?_Amazon Web Services_Amazon S3_Routes_Amazon Cloudfront_Amazon Route53 - Fatal编程技术网

Amazon web services 如何将多个域名路由到同一个amazon S3存储桶位置?

Amazon web services 如何将多个域名路由到同一个amazon S3存储桶位置?,amazon-web-services,amazon-s3,routes,amazon-cloudfront,amazon-route53,Amazon Web Services,Amazon S3,Routes,Amazon Cloudfront,Amazon Route53,我在s3 bucket上托管了react应用程序。 我想用不同的域名访问同一个应用程序。 例如: www.example.com、www.demoapp.com、www.reactapp.com 我想使用不同的域访问s3 bucket托管的应用程序。 我该怎么做? 我还需要使用其他亚马逊服务吗? 如果您做过类似的事情,请帮助我。使用amazon cloudfront,您应该能够做到: 您无法将其作为标准的s3静态网站,但使用cloud front将使其成为可能。如果您试图将多个域名路由到同一个s

我在s3 bucket上托管了react应用程序。 我想用不同的域名访问同一个应用程序。 例如: www.example.com、www.demoapp.com、www.reactapp.com 我想使用不同的域访问s3 bucket托管的应用程序。 我该怎么做? 我还需要使用其他亚马逊服务吗?
如果您做过类似的事情,请帮助我。

使用amazon cloudfront,您应该能够做到:


您无法将其作为标准的s3静态网站,但使用cloud front将使其成为可能。

如果您试图将多个域名路由到同一个s3存储桶,那么您就做错了,需要重新考虑您的策略。 域名是用来识别互联网上资源的一种独特方式(在本例中是您的S3存储桶),没有必要将多个域名路由到同一个S3存储桶

如果您真的想这样做,那么有两个选项:

选项一: 简单的选择是将domain1.com指向S3存储桶,然后使用重定向规则将请求重定向到domain2.com,将domain3.com重定向到domain1.com

选项二: 另一种方法是创建3个S3存储桶,并在所有3个存储桶上复制内容,然后使用不同的域名指向每个存储桶。当然,这将创建一个噩梦般的维护场景,就好像您在一个bucket中更改了应用程序,那么您必须在所有其他bucket中执行相同的更改一样。如果您使用GIT托管您的应用程序,那么您可以一次推送到所有3个S3存储桶

再说一次,以上所有这些都只是为了逃避域名指向互联网上独特资源这一事实,我真的不明白你为什么要这样做


希望这能让您对如何解决这个问题有所了解。

使用Amazon CloudFront分发服务,我们可以实现它

1) 创建新的CloudFront分发服务

2) 选择要使用的bucket名称

3) 添加我们要添加的多个域名

4) CloudFront发行版将生成新的主机 abcded.cloudfront.net


5) 添加abcded.cloudfront.net,它位于我们最初的域名CNAME记录中。

这是一款基于云的应用程序,类似于软件即服务。因为,在这里,多个用户将访问他们的同一个应用程序。@motokazi您可以链接到任何说明域名应该指向唯一资源的文档或规范吗?我不知道有任何要求或建议,说明两个域名不应指向同一资源。@MarkB我已经提到,域名是标识资源的唯一方式,而不是“标识唯一资源的方式”。它们的工作方式与地址识别房屋相同。没有两个不同的地址指向同一所房子。虽然没有什么能阻止你将10个域名指向同一个资源,但问题是你为什么要这样做?考虑到这个问题与S3 bucket有关,S3 bucket具有唯一的名称,并且它们是唯一的,这是有原因的。最终,DNS只是一个将名称解析为IP地址的服务。没有任何东西可以阻止您将多个名称解析为同一IP地址。人们总是在同一台服务器上托管多个网站。而且,人们总是在多个域中托管同一个网站。他们没有理由不能这样做,这样做也没有错。仅仅因为S3有一个人为的限制,使得这一点更加困难,这本身并不意味着它是错误的或是一个坏主意。也许有人重新命名了他们的网站,但仍然希望旧地址有效?@MarkB这里有一个真相。从SEO的角度来看,这在技术上是个坏主意——每个“资源”都应该有一个规范的URL,其他任何东西都应该是重定向。然而,这只与静态的公共内容相关。如果这些多个域具有从地址栏派生的不同内容,则参数将无法保持,因为内容是唯一的,尽管后端是相同的。