server { listen 80 ; gzip on; access_log /var/log/nginx/mediacms.io.access.log; error_log /var/log/nginx/mediacms.io.error.log warn; # HSTS header add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; # CSP header add_header Content-Security-Policy " default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self' data: blob:; media-src 'self' blob:; frame-src 'self'; font-src 'self'; connect-src 'self'; object-src 'none'; frame-ancestors 'self'; form-action 'self'; base-uri 'self'; upgrade-insecure-requests; " always; location /static { alias /home/mediacms.io/mediacms/static ; } location /media/original { alias /home/mediacms.io/mediacms/media_files/original; } location /media { alias /home/mediacms.io/mediacms/media_files ; add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range'; add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range'; } location / { add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range'; add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range'; include /etc/nginx/sites-enabled/uwsgi_params; uwsgi_pass 127.0.0.1:9000; } }