我刚刚在Amazon S3上部署了一个静态网站,目前可以在这里查看:http://www.rdegges.com.s3-website-us-east-1.amazonaws.com/
如果单击任何文章链接,您会注意到以下错误:
S3抱怨该文件不存在.现在,这就是奇怪的 - 我在我的域名上使用CloudFront.因此,当您单击该文章链接时,它会将请求发送到CloudFront,然后CloudFront尝试从S3存储桶中取回文件.
但是,如果您直接从S3访问相同的URL,例如:http://www.rdegges.com.s3-website-us-east-1.amazonaws.com/2015/building-a-heroku-addon-planning/页面加载就好了.
看来这里有些东西在翻译中迷失了.
有人建议我可以做些什么来修复我的设置?
有没有办法使用S3 配置单个CloudFront 发行版,以便
hello.world.com提供来自 的文件my-bucket.s3.amazonaws.com/hello,以及foo.world.com来自 的文件my-bucket.s3.amazonaws.com/foo?
我添加了一个带有 *.world.com 通配符 CNAME 的新发行版,并且可以按照描述添加源(通过指定根文件夹),但我不知道如何根据子域路由请求。在行为设置中,有path pattern但我认为它不适用于域,而不是文件的路径。
基本上我想进行路径重写,以使用单个 s3 存储桶的单个 cloudfront 发行版上的子域替换第一个目录。
cname wildcard amazon-s3 amazon-web-services amazon-cloudfront
我需要多个子域指向Amazon S3上的单个存储桶/子目录(同步到CloudFront发行版),在其中托管一些静态文件。
这样任何
SUBDOMAINNAME.example.com
Run Code Online (Sandbox Code Playgroud)
自动指向
s3.amazonaws.com/somebucket/SUBDOMAINNAME
Run Code Online (Sandbox Code Playgroud)
要么
somedistributionname.cloudfront.net/SUBDOMAINNAME
Run Code Online (Sandbox Code Playgroud)
有没有一种方法可以在不运行服务器进行重定向的情况下完成此操作?
是否可以在不更改每个新子域的DNS记录的情况下完成此操作,如果没有,则可以通过编程方式添加DNS规则?
就资源使用而言,最有效的方法是什么。(可能有数百个子域,每个子域每天都有数百个请求)
dns wildcard-subdomain amazon-s3 amazon-cloudfront amazon-route53