Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.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 s3 使用自定义域在S3网站上设置索引文档_Amazon S3_Web Hosting - Fatal编程技术网

Amazon s3 使用自定义域在S3网站上设置索引文档

Amazon s3 使用自定义域在S3网站上设置索引文档,amazon-s3,web-hosting,Amazon S3,Web Hosting,我正在尝试为我的S3托管网站设置索引文档。我已经 已启用bucket上的网站托管 将索引文档设置为index.html 上载了index.html文件 已将index.html文件公开。 索引文档在使用原始AWS url导航到bucket根目录时工作,但在使用自定义域时不工作: 工作 作品 作品 拒绝访问-403错误您的DNS配置不正确 您指向的是一个REST端点CNAME s3.amazonaws.com,它不支持索引文档。您需要DNS指向网站托管端点,在本例中是CNAME static.ap

我正在尝试为我的S3托管网站设置索引文档。我已经

已启用bucket上的网站托管 将索引文档设置为index.html 上载了index.html文件 已将index.html文件公开。 索引文档在使用原始AWS url导航到bucket根目录时工作,但在使用自定义域时不工作:

工作 作品 作品
拒绝访问-403错误

您的DNS配置不正确

您指向的是一个REST端点CNAME s3.amazonaws.com,它不支持索引文档。您需要DNS指向网站托管端点,在本例中是CNAME static.appgrinders.com.s3-website.us-east-1.amazonaws.com。此端点在S3控制台中可见

此更改将解决您的问题

在我在DNS中确认之前,错误配置的本质是XML错误。承载端点的网站不会返回XML错误——它们返回相同的信息,但它被包装在一些简单的HTML中,而不是XML中

但是,请注意,如果您希望通过SSL访问您的站点,您仍然需要使用CloudFront。S3中的自定义域需要CloudFront对SSL支持的帮助。与REST端点不同,承载端点的网站根本不侦听端口443


在CloudFront配置中,您需要避免相同的错误-不要从下拉列表中选择bucket名称,因为这将向REST端点发送请求。您需要提供网站端点主机名作为源。

您是否启用了静态web主机并在那里定义index.html文档?@Ashan是的,我解释了我在上面所做的步骤我通常使用CloudFront for S3在边缘缓存内容,以便更快地交付静态资产,这是推荐的方法。从来没有在上面碰到过它。真漂亮——就是这样!谢谢MichaelThanks,这很有效!但在CNAME URL示例中有一个小错误。。。而不是…s3-website-us-east-1。。。它应该是…s3网站。us-east-1。。。。进行编辑。@johndoo从技术上讲,这不是一个错误,因为对于us-east-1和一些旧的地区,这两种形式现在都是有效的,但情况并非总是如此。以前只支持旧的区域,但现在允许这样或那样,尽管文档对此有所掩饰。较新的区域仅支持。经过s3网站,所以这是一个合理的编辑。事实上,我站在更正。分别列出每个区域的端点。当eu-central-1不起作用时,我感到很惊讶,我想我会解决这个问题。谢谢你清理它!