server {
listen 80;
server_name api.sinamon.io admin.sinamon.io sinamon.io;
location = /favicon.ico { access_log off; log_not_found off; }
location /media {
proxy_http_version 1.1;
proxy_set_header Connection '';
proxy_set_header Authorization '';
proxy_set_header Host sinamonstaticserve.s3.amazonaws.com;
proxy_hide_header x-amz-id-2;
proxy_hide_header x-amz-request-id;
proxy_hide_header x-amz-meta-server-side-encryption;
proxy_hide_header x-amz-server-side-encryption;
proxy_hide_header Set-Cookie;
proxy_ignore_headers Set-Cookie;
proxy_intercept_errors on;
add_header Cache-Control max-age=31536000;
proxy_pass https://sinamonstaticserve.s3.amazonaws.com/media;
}
location /static {
proxy_http_version 1.1;
proxy_set_header Connection '';
proxy_set_header Authorization '';
proxy_set_header Host sinamonstaticserve.s3.amazonaws.com;
proxy_hide_header x-amz-id-2;
proxy_hide_header x-amz-request-id;
proxy_hide_header x-amz-meta-server-side-encryption;
proxy_hide_header x-amz-server-side-encryption;
proxy_hide_header Set-Cookie;
proxy_ignore_headers Set-Cookie;
proxy_intercept_errors on;
add_header Cache-Control max-age=31536000;
proxy_pass https://sinamonstaticserve.s3.amazonaws.com/static;
}
location / {
include uwsgi_params;
uwsgi_pass unix:/tmp/sinabro.sock;
}
}
# AWS Setting
AWS_REGION = 'ap-northeast-2'
AWS_STORAGE_BUCKET_NAME = 'sinamonstaticserve'
AWS_QUERYSTRING_AUTH = False
AWS_S3_HOST = 's3.%s.amazonaws.com' % AWS_REGION
AWS_ACCESS_KEY_ID = 'AKIAJ4J26QJ5AXHR7DPA'
AWS_SECRET_ACCESS_KEY = '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'
AWS_S3_CUSTOM_DOMAIN = '%s.s3.amazonaws.com' % AWS_STORAGE_BUCKET_NAME
AWS_DEFAULT_ACL = None
# Static Setting
STATIC_URL = '/static/'
#Media Setting
MEDIA_URL = '/media/'
DEFAULT_FILE_STORAGE = 'sinabro.settings.storage.MediaStorage'
STATICFILES_STORAGE = 'sinabro.settings.storage.StaticStorage'
MEDIAFILES_LOCATION = 'media'
STATICFILES_LOCATION = 'static'
sinabro.settings.storage.py
from django.conf import settings
from storages.backends.s3boto import S3BotoStorage
class MediaStorage(S3BotoStorage):
location = settings.MEDIAFILES_LOCATION
class StaticStorage(S3BotoStorage):
location = settings.STATICFILES_LOCATION