Запросы к AWS с использованием Django не используют правильные параметры для всех файлов

У меня есть приложение Django, которое при загрузке админки получает только 4 из 6 необходимых статических файлов. Разница между 4 успешными и 2 неудачными запросами в том, что в неудачных запросах отсутствуют следующие параметры:

  • X-Amz-Algorithm
  • X-Amz-Credential
  • X-Amz-Date
  • X-Amz-Expires
  • X-Amz-SignedHeaders
  • X-Amz-Signature

Однако параметры присутствуют в заголовках запроса referer. Также это последовательно те же 2 файла. И да, они существуют, о чем я расскажу далее в этом вопросе.

Я установил django-storages и boto3 для работы с AWS.

Вот соответствующие настройки из файла settings.py:

INSTALLED_APPS = [
    ...
    'storages',
    ...
]

AWS_S3_ACCESS_KEY_ID = 'my-access-key'
AWS_S3_SECRET_ACCESS_KEY = 'my-secret-access-key'
AWS_STORAGE_BUCKET_NAME = 'my-bucket-01'

AWS_S3_FILE_OVERWRITE = False
AWS_DEFAULT_ACL = None
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'

AWS_S3_REGION_NAME = 'eu-west-2'
AWS_S3_SIGNATURE_VERSION = 's3v4'
AWS_S3_ADDRESSING_STYLE = "virtual"

Успешный запрос:

https:// my-bucket-01.s3.eu-west-2.amazonaws.com/admin/css/responsive.css? X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=my-access-key%2F20220217%2Feu-west-2%2Fs3%2Faws4_request&X-Amz-Date=20220217T212138Z& X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=31bc0e43fcc693f70c7662432ee6d88d8358652894611a0f7387ac35febf5ef9

Неудачный запрос:

https:// my-bucket-01.s3.eu-west-2.amazonaws.com/admin/css/fonts.css

Failed requests referer:

https:// my-bucket-01.s3.eu-west-2.amazonaws.com/admin/css/base.css? X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=my-access-key%2F20220217%2Feu-west-2%2Fs3%2Faws4_request&X-Amz-Date=20220217T212138Z& X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=af8fb82686dd0dcc2600eebdf9ceecec482dd44be02a3c3f3a9b793f96cee617

Я перешел по ссылке в реферере и она сработала.

Итак, мой вопрос заключается в следующем:

  • Почему только некоторые из моих запросов включают правильные параметры и как заставить их использовать правильные параметры?

или

  • Как заставить запросы использовать рефереры?
Вернуться на верх