2013-03-12 9 views
8

ジャンゴ・ストレージS3でメディアを提供する場合、生成されるメディアのURLは次のようなものです:画像を引き起こすジャンゴストレージS3メディアのURLは、HTTPSです:// httpの代わりに://

https://mybucket.s3.amazonaws.com/myimage.jpg?Signature=5ifoyLqzmtfVNS1ovfzVvN92RH0%3D&Expires=1363124819&AWSAccessKeyId=AKIAJ7ZTU7K4SPYKGOFA 

なぜなら、HTTPSの表示されないために:

You attempted to reach mybucket.s3.amazonaws.com, 
but instead you actually reached a server identifying itself as *.s3.amazonaws.com. 
This may be caused by a misconfiguration on the server or by something more serious. An attacker on your network could be trying to get you to visit a fake (and potentially harmful) version of mybucket.s3.amazonaws.com. 

が、私はイメージがHTTPないHTTPSを務めする必要が

私の設定は次のとおりです。

DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage' 
AWS_ACCESS_KEY_ID = "AKIAJ....K4SPYKGOFA" 
AWS_SECRET_ACCESS_KEY = "2Y7G98JoCRzAEp....rPoCjWZuwDaQ" 
AWS_STORAGE_BUCKET_NAME = "mybucket" 

私はmedia_urlとs3_urlを通常のhttpに設定しようとしましたが、何も変更されませんでした。

私は私はあなたの設定に、このプロパティを追加しようとジャンゴ1.5

+0

AWSコンソールでどこを変更するか教えていただけますか? –

+0

あなたはDjango設定ファイルを変更する必要があります(デフォルトではsettings.pyです) – YardenST

+0

私に連絡してくれてありがとう。私は間違った質問をしています。私は、私がiOSアプリにダウンロードしたファイルを保存する場所としてS3を使用しています。以前はhttpを使用していましたが、現在は失敗しています。おそらくAmazonはhttpsを使用するように変更されています。私のアプリはデプロイされており、AWSにhttpへの応答に戻るようにしています。私はdjangoを使用しているとは思わないが、この投稿は同じことを話しているようだった。あなたがこれを理解するために私に指摘するところがあれば、私はそれを感謝します! –

答えて

8

これはおそらく単一のAWS_S3_SECURE_URLS = Falseで解決できます。しかし、これらの設定は、現在のバージョン1.1.6 のよう流動的であるので、ここで関連する設定にもう少し詳細です:

AWS_S3_SECURE_URLS = False 
AWS_S3_URL_PROTOCOL = 'http' 
AWS_STORAGE_BUCKET_NAME = 'mybucket' 
AWS_S3_CUSTOM_DOMAIN = '%s.s3.amazonaws.com' % AWS_STORAGE_BUCKET_NAME 

AWS_S3_URL_PROTOCOLは新しい方法であり、空の文字列に設定されている場合は、プロトコルは、相対的なことができますURL。下位互換性のためにはAWS_S3_SECURE_URLSが必要です。 AWS_S3_URL_PROTOCOLを使用している場合は、現時点ではAWS_S3_CUSTOM_DOMAINはnecessaryです。ここに、S3Botoバックエンドでプロトコル相対URLを実装する際の開発者discussionがあります。

Django-storageはS3バックエンドとS3Botoバックエンドを提供しています。あなたの質問は、あなたのコードがしているが、あなたが使用しているものを明確にするものではありません。

+0

詳細な回答、特に最後の段落にはありがたいです – YardenST

+0

AWS_S3_URL_PROTOCOLは 'http: –

関連する問題