AWS S3-Umleitung funktioniert nicht

Ich habe gerade einen neuen Bucket in AWS S3 erstellt. Ich möchte einige statische Dateien dort hosten, aber wenn nicht alle vorhanden sind, leiten Sie sie auf meinen Hauptserver um. Scheint einfach, aber ich habe die Anweisungen ohne Glück befolgt.

Auf dem Eimer, den ich allen Zugriffsberechtigungen gegeben habe.

Ich habe eine Bucket-Richtlinie hinzugefügt:

{
    "Version": "2012-10-17",
    "Id": "Policy999999999",
    "Statement": [
        {
            "Sid": "Stmt9999999999",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::mybucket/*"
        }
    ]
}

Auf dem statischen Website-Hosting habe ich es aktiviert und einfache Seiten index.htm und error.htm erstellt (nicht, dass ich sie benötige, aber für den Fall, dass es erforderlich ist). Dann fügte diese Umleitungsregeln hinzu:

<RoutingRules>
    <RoutingRule>
        <Condition>
            <HttpErrorCodeReturnedEquals>403</HttpErrorCodeReturnedEquals>
        </Condition>
        <Redirect>
            <Protocol>http</Protocol>
            <HostName>www.mydomain.com</HostName>
            <ReplaceKeyPrefixWith>/</ReplaceKeyPrefixWith>
        </Redirect>
    </RoutingRule>
</RoutingRules>

(anscheinend brauchen Sie 403 nicht 404, wenn es keine Listenberechtigungen hat, aber es funktioniert bei keiner Variation von 403/404 und wenn es Listenberechtigungen hat oder nicht)

Wenn ich zu einer URL auf dem Bucket gehe, die nicht existiert (die existierenden sind in Ordnung), erhalte ich nur:

<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>9DD57C7132E76D65</RequestId>
<HostId>
I15odykUdMnGCC+hQfb1pfsnt+gkfGVxuD2sy5PrxrX16P8Njpy3yQiLLH30evTkdOOAl28HA9M=
</HostId>
</Error>

(oder NoSuchKey, wenn Listenberechtigungen aktiviert sind)

Hilfe

Antworten auf die Frage(2)

Ihre Antwort auf die Frage