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 web services S3将默认xml错误替换为自定义错误不起作用_Amazon Web Services_Amazon S3 - Fatal编程技术网

Amazon web services S3将默认xml错误替换为自定义错误不起作用

Amazon web services S3将默认xml错误替换为自定义错误不起作用,amazon-web-services,amazon-s3,Amazon Web Services,Amazon S3,我觉得问这个问题很愚蠢,但我无法让amazon的s3错误文档正常工作。我想做的是,当用户试图访问一个不存在的文件时,显示一个自定义错误文档。因此,我遵循了在的文档,但这根本不起作用 我可以访问存在的文件,但当我输入https://mybucketurl/notexistingdoc.html 它显示了通常的访问被拒绝/key not found xml错误 由于文档是非常简单的,没有太多的配置,我不知道是什么错误。我甚至尝试将我的bucket上的权限设置为s3:*以确保这不是权限问题。这是尝试的

我觉得问这个问题很愚蠢,但我无法让amazon的s3错误文档正常工作。我想做的是,当用户试图访问一个不存在的文件时,显示一个自定义错误文档。因此,我遵循了在的文档,但这根本不起作用

我可以访问存在的文件,但当我输入https://mybucketurl/notexistingdoc.html 它显示了通常的访问被拒绝/key not found xml错误


由于文档是非常简单的,没有太多的配置,我不知道是什么错误。我甚至尝试将我的bucket上的权限设置为s3:*以确保这不是权限问题。

这是尝试的内容,我的错误页面也起作用

  • 创建了一个bucket,更改了权限以将其公开

  • 在“权限->阻止公共访问”下,将其关闭,然后
    附加了一个策略存储桶策略,以授予对存储桶的公共读取权限。当您授予公共读取访问权限时,internet上的任何人都可以访问您的存储桶

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "PublicReadGetObject",
                "Effect": "Allow",
                "Principal": "*",
                "Action": "s3:GetObject",
                "Resource": "arn:aws:s3:::your-bucket name/*"
            }
        ] }
    
  • 将index.html和error.html作为对象上载

  • my error.html文件
    出现错误

  • 转到“属性”,在“静态网站托管”下,启用它,然后选择一个 托管类型为静态,为索引文档和 错误文档nd的error.html,然后您可以通过尝试 使用任何不存在的内容访问你的bucket URL,它将 呈现错误页面


详细解释如下

这就是我所做的,但它不起作用。我从零开始,现在又开始了。我一定是打错了什么东西,尽管我很确定我没有,因为我可以访问我的所有文件。也许你在提到错误文件时打错了文件名,这导致s3读取了默认的错误页面。