2

AWS S3で新しいバケットを作成しました。いくつかの静的ファイルをホストしたいのですが、それらがすべてそこにない場合は、私のメインサーバにリダイレクトしてください。シンプルなようですが、私は運がない指示に従ってきました。AWS S3リダイレクトが機能しない

バケツでは、誰も閲覧許可を与えました。私はバケットポリシーを追加しました

:ホスティング静的なウェブサイト上

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

を、私はそれを有効にして、簡単なのindex.htmとerror.htmページを作成した(私はそれらを必要としないことが、場合ましたそれは必須です)。そして、これらのリダイレクト規則を追加しました:

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

(それはリストの権限を持っていませんが、それは403/404のいずれかのバリエーションで作業し、リストの権限のかどうかを持っていない場合は明らかにあなたが404 403をする必要はありません)

私はちょうど得る(存在するものは罰金)が存在しないバケット上のURLにアクセスしてください:

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

(またはNoSuchKeyリストの権限が上にある場合)

ヘルプ!

答えて

2

Webサイトのホスティング設定でコンソールを確認し、バケットのWebサイトエンドポイントホスト名を確認します。

XMLエラーメッセージで示されているように、RESTエンドポイントのホスト名に要求を送信しています。

http://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteEndpoints.html

また、あなたは何もキー接頭辞ではなく、スラッシュを交換したいと思うでしょうか、2つのスラッシュになってしまいます。

関連する問題