django-storages (1.1.4) の boto (2.2.1) バックエンドを使用して、ファイルを S3 バケットにアップロードしています。画像には問題なく機能しますが、ムービー ファイル (小さい mov、小さい avi) または mp3 をアップロードしようとすると、Broken pipe エラーが発生します。
これは奇妙です。
Django のトレースバックを掘り下げると、次の例外が表示されます。
boto.https_connection.InvalidCertificateException
Cyberduck を使用してバケットを直接検査してきた経験にどのようなものが適合しますか: 証明書*.s3.amazonaws.com
とドメインの間で不一致が発生していると不平を言うことがあります*.s3-external-3.amazonaws.com
実際、バケットのログには、HTTP 307 一時リダイレクトが提供されていることが示されています。AWS が一部のコンテンツ タイプをある方法で送信し、他のコンテンツ タイプを別の方法で送信している可能性がありますが、boto/何かがそれに追いついていないのでしょうか? 映画のアップロードは S3 に 2 回ヒットするようですが、画像は 1 回ヒットするため、boto は 307 の罰金に対処している可能性があります (そして、boto の 307 サポートのクローズド チケットは数年前のものです)。大丈夫、何か他のことが起きています。
しかし、何?楽しく生産的な 1 日からヘッドエンドになり、非常にイライラしています。
何が起きている可能性があるか、および/またはこれを回避するために何を試みるかについて何か提案はありますか?
(これは、boto S3 バックエンドまたはシンプルな S3 バックエンドでは失敗することに注意してください。boto の方が、より具体的なエラーのように見えるだけです)