upstream {{sock_name}}_server {

server unix://tmp/.{{sock_name}}.sock fail_timeout=0;

}

server {

listen 80;
root {{root_path}}/public;
server_name {{server_name}};
location / {
  try_files $uri @app;
}

location @app {
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header Host $http_host;
  proxy_redirect off;
  proxy_buffers 8 16k;
  proxy_buffer_size 32k;
  proxy_pass http://{{sock_name}}_server;
}

}

server {

listen 443;
root {{root_path}}/public;
server_name {{server_name}};
location / {
  try_files $uri @app;
}

ssl on;
ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem;
ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP;
ssl_prefer_server_ciphers on;

location @app {
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Forwarded-Proto $scheme;
  proxy_set_header Host $http_host;
  proxy_redirect off;
  proxy_buffers 8 16k;
  proxy_buffer_size 32k;
  proxy_pass http://{{sock_name}}_server;
}

}