【发布时间】:2019-03-13 17:21:18
【问题描述】:
我正在尝试结合使用 CloudFlare 和 AWS S3 服务来托管静态网站。我的问题是我有一个“index.html”文件并直接导航到 S3 URL:
http://srdan.nz.s3-website-ap-southeast-2.amazonaws.com
它加载“index.html”文件(注意,在 URL 中没有提到“index.html”)。
但是,如果我转到自定义域 URL:
它返回存储桶内容的 S3 XML 列表:
<ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><Name>srdan.nz</Name><Prefix></Prefix><Marker></Marker><MaxKeys>1000</MaxKeys><IsTruncated>false</IsTruncated><Contents><Key>index.html</Key><LastModified>2018-10-09T01:10:39.000Z</LastModified><ETag>"f51109004d6b0518fad4c2f69d950a45"</ETag><Size>133</Size><StorageClass>STANDARD</StorageClass></Contents></ListBucketResult>
而不是“index.html”的内容。
有人知道为什么会这样吗?如果有人刚刚输入 URL,如何配置 Cloudflare/S3 以使“index.html”文件成为返回的“默认”内容?
我有一个解决方法,我向 Cloudflare 添加自定义“页面规则”以将“http://srdan.nz/”重定向到“http://srdan.nz/index.html”但是,我强烈希望它只返回“索引”的内容.html”直接。
【问题讨论】:
-
请显示您的 CloudFlare 配置 -- CloudFlare 如何配置为指向存储桶。
-
使用 CNAME 记录将“srdan.nz”指向“srdan.nz.s3-ap-southeast-2.amazonaws.com”。我没有添加任何其他配置
-
将该记录更改为指向
srdan.nz.s3-website-ap-southeast-2.amazonaws.com。您现在使用的是 REST 端点。 -
就是这样!谢谢迈克尔! :-) 如果您将其发布为答案,我将很乐意接受并投票
标签: amazon-web-services amazon-s3 cloudflare