我在我的django应用程序中使用S3BotoStorage
作为我的DEFAULT_FILE_STORAGE
。所以我上传到我的应用程序的所有文件都上传到S3存储桶。 我想使用SSE-C对我的文件进行加密,所以我遵循AWS提供的文档here。我添加以下行到我的settings.py
在Django中传递S3头文件的正确方法是什么?
# settings.py
AWS_S3_ENCRYPTION = True
key = ...
key_md5 = ...
AWS_HEADERS = {
'x-amz-server-side-encryption-customer-algorithm': 'AES256',
'x-amz-server-side-encryption-customer-key': key,
'x-amz-server-side-encryption-customer-key-MD5': key_md5,
}
但只要我添加这些头我开始收到以下错误。
[Error 104] Connection Reset by Peer
文件上传工作正常,没有标题。
我不这是为什么发生这种情况?
请让我知道是否需要任何细节。
由于您正在使用第三方调用API,因此您应该检查并利用代码库参数,因为它会覆盖并忽略它不理解的内容。并在源中搜索“加密”: https://github.com/jschneier/django-storages/blob/master/storages/backends/s3boto.py,看起来你只需要启用一个参数。 – mootmoot
@mootmoot感谢您指出了这一点,但我已经启用了您正在讨论的参数。我已更新问题描述。 – Darwesh
请说明您是要使用自己的加密密钥还是使用S3加密? – mootmoot