diff --git a/conf/nginx.conf b/conf/nginx.conf index d441769..a10b81a 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -3,10 +3,37 @@ upstream %(project_name)s { } server { - listen 80; + listen 80; + server_name %(server_name)s; + return 301 https://%(server_name)s$request_uri; +} + +server { + gzip on; + gzip_disable "msie6"; + gzip_vary on; + gzip_proxied any; + gzip_comp_level 6; + gzip_buffers 16 8k; + gzip_http_version 1.1; + gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; + resolver 8.8.8.8 8.8.4.4 valid=300s; + resolver_timeout 5s; + keepalive_timeout 70; + client_max_body_size 4G; server_name %(server_name)s; - client_max_body_size 10M; - keepalive_timeout 15; + add_header Strict-Transport-Security max-age=63072000; + add_header X-Frame-Options DENY; + add_header X-Content-Type-Options nosniff; + listen 443 ssl; + ssl on; + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4"; + ssl_prefer_server_ciphers on; + ssl_certificate %(project_path)s/configs/skillbox_ssl/public.pem; + ssl_certificate_key %(project_path)s/configs/skillbox_ssl/privat.key; + ssl_stapling on; + ssl_stapling_verify on; location /static/media { diff --git a/fabfile.py b/fabfile.py index 8ca1709..b23467a 100644 --- a/fabfile.py +++ b/fabfile.py @@ -69,9 +69,9 @@ templates = { } def _print(output): - print () - print ('%s' % output) - print () + print + print '%s' % output + print def print_command(command): _print(blue("$ ", bold=True) + @@ -173,7 +173,7 @@ def upload_template_and_reload(name): owner = template_settings.get("owner") mode = template_settings.get("mode") - print ('%s to %s' % (local_path, remote_path)) + print '%s to %s' % (local_path, remote_path) upload_template(local_path, remote_path, env, use_sudo=False, backup=False) @@ -271,6 +271,7 @@ def create(): """ Stages the application on the server """ + sudo('supervisorctl stop all') sudo('rm -r -f %s' % env.project_path) with cd('/var'): run('mkdir -p www') diff --git a/requirements.txt b/requirements.txt index 758c4f6..3c3841e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -70,4 +70,4 @@ urllib3==1.17 wcwidth==0.1.7 widgetsnbextension==1.2.6 xlwt==1.1.2 -fabric3 +fabric