AWS s3 & Django & Nginx. Конфигурация?

(Сразу скажу на локалхосте идеально работает)

Я сделал конфигурацию для своего s3 bucket, медиафайлов Django и сервера Nginx.
Это работало, картинки загружались и показывались, но через несколько часов уже не работает ...
Не знаю, имеет ли это значение, но я создал bucket policy s3 для action "getObject" с условием, что запрос должен иметь заголовок User-Agent с секретной строкой, например:
curl -I some.url -H "User-Agent: dog"

My Django AWS Configuration (django_storages):
AWS_ACCESS_KEY_ID = 'my_access'
AWS_SECRET_ACCESS_KEY = 'my_private'
AWS_STORAGE_BUCKET_NAME = 'diasmart-media-static'

S3_REGION = 'eu-north-1'
AWS_S3_CUSTOM_DOMAIN = f'https://s3-{S3_REGION}.amazonaws.com/{AWS_STORAGE_BUCKET_NAME}'
AWS_S3_SIGNATURE_VERSION = 's3v4'

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


# Static and media
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'assets')
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static')
]

MEDIA_URL = '/media/'


My Nginx config
location /media {
                resolver 8.8.8.8;

                limit_except GET {
                        deny all;
                }

                set $aws_bucket "diasmart-media-static";
                set $aws_endpoint "s3-eu-north-1.amazonaws.com";
                set $aws_custom_secret "for_example_dog";

                proxy_set_header User-Agent $aws_custom_secret;

                rewrite ^/media/(.*)$ /$aws_bucket/$1 break;
                proxy_buffering off;
                proxy_pass https://$aws_endpoint;
        }


Когда я загружаю фотографии со страницы администратора Django, ошибок нет, но изображения не отображаются.
А мой s3 bucket пустой...
  • Вопрос задан
  • 497 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы