7

最近、Amazon S3 + CloudFrontを自分のレールアプリケーションのCDNとして使用できるようになりました。フォントアセットを使用してFirefoxやIEに表示するには、S3バケットでCORSを有効にする必要があります。Amazon S3はCORS設定を更新する時間が必要ですか?どのぐらいの間?

HTTP/1.1 200 OK 
x-amz-id-2: Ovs0D578kzW1J72ej0duCi17lnw+wZryGeTw722V2XOteXOC4RoThU8t+NcXksCb 
x-amz-request-id: 52E934392E32679A 
Date: Tue, 04 Jun 2013 02:34:50 GMT 
Cache-Control: public, max-age=31557600 
Content-Encoding: gzip 
Expires: Wed, 04 Jun 2014 08:16:26 GMT 
Last-Modified: Tue, 04 Jun 2013 02:16:26 GMT 
ETag: "723791e0c993b691c442970e9718d001" 
Accept-Ranges: bytes 
Content-Type: text/javascript 
Content-Length: 39140 
Server: AmazonS3 

私は'Access-Control-Allow-Origin'いくつかの場所が表示されます。

<?xml version="1.0" encoding="UTF-8"?> 
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> 
    <CORSRule> 
     <AllowedOrigin>*</AllowedOrigin> 
     <AllowedMethod>GET</AllowedMethod> 
     <AllowedMethod>POST</AllowedMethod> 
     <AllowedMethod>PUT</AllowedMethod> 
     <MaxAgeSeconds>3000</MaxAgeSeconds> 
     <AllowedHeader>*</AllowedHeader> 
    </CORSRule> 
</CORSConfiguration> 

は、それから私は私が得た、curl -I https://small-read-staging-assets.s3.amazonaws.com/staging/assets/settings_settings-312b7230872a71a534812e770ec299bb.js.gzを使用しましたか? S3にCORS設定の更新に時間がかかりますか?期限切れのヘッダーをキャッシュするよう強制することはできますか?

+0

をGET --request。 http://docs.aws.amazon.com/AmazonS3/latest/dev/cors-troubleshooting.html 理想的にはそれほど時間がかかりません。私は数分前にそれが起こるのを見ました。 – Keshi

答えて

4

起源ヘッダを送信してみてください:

$ curl -v -H "Origin: http://example.com" -X GET https://small-read-staging-assets.s3.amazonaws.com/staging/assets/settings_settings-312b7230872a71a534812e770ec299bb.js.gz > /dev/null 

、あなたが探しているCORSレスポンスヘッダー表示する必要があります出力:カールが可能でCORSリクエストをデバッグする方法について

< Access-Control-Allow-Origin: http://example.com 
< Access-Control-Allow-Methods: GET 
< Access-Control-Allow-Credentials: true 
< Vary: Origin, Access-Control-Request-Headers, Access-Control-Request-Method 

追加情報をここには次のものがあります。 How can you debug a CORS request with cURL?

さまざまな種類のCORS要求(シンプルプリフライト)違いについての素敵なチュートリアルはここにあります: http://www.html5rocks.com/en/tutorials/cors/

希望します!

1

はこれらを試してみてください。

  1. あなたがへのアクセスを許可するスコープダウンドメイン名に試してみてください。 S3は*が好きではありません。
  2. CloudFront + S3 doesn't handle the CORS configuration correctly出荷時。 kludgeは、参照先ドメインの名前を含むクエリ文字列を追加し、CloudFront配布設定のクエリ文字列のサポートを明示的に有効にすることです。
0

CORSのテスト方法にはいくつか問題があります。 1. CORS設定にHEADメソッドがありません。 2. curlコマンドに-Hヘッダーがありません。

次のようにカールを使用してデータを取得できました。しかし、あなたのデータは圧縮されたバイナリなので、私は画面にゴミを投棄しました。

カールはあなたがCORSを有効に表示されていない場合は、これらの問題に対処していることを確認しhttps://small-read-staging-assets.s3.amazonaws.com/staging/assets/settings_settings-312b7230872a71a534812e770ec299bb.js.gz -H「http://google.com

関連する問題