nginx.conf

upstream baruwacluster {
    ip_hash;
    server unix:///var/run/baruwa/baruwa.sock;
        # Use this in cluster mode to connect to other servers
        #server xxx.xxx.xxx.xxx:3021;
}

server {
    listen [::]:80;
    server_name baruwa.example.com;
    access_log /var/log/nginx/baruwa-access.log combined;
    error_log /var/log/nginx/baruwa-error.log;
    charset utf-8;
    add_header X-Content-Type-Options "nosniff";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Frame-Options "SAMEORIGIN";
    add_header Strict-Transport-Security "max-age=631138519";
    root /var/empty;
    rewrite ^(.*)$ https://baruwa.example.com$1 permanent;
}

server {
    listen [::]:443;
    ssl on;
    ssl_certificate /etc/pki/baruwa/certs/baruwa.example.com.pem;
    ssl_certificate_key /etc/pki/baruwa/private/baruwa.example.com.key;
    keepalive_requests    50;
    keepalive_timeout     300 300;
    server_tokens off;
    server_name baruwa.example.com;
    access_log /var/log/nginx/baruwa-access.log combined;
    error_log /var/log/nginx/baruwa-error.log;
    charset utf-8;
    add_header X-Content-Type-Options "nosniff";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Frame-Options "SAMEORIGIN";
    add_header Strict-Transport-Security "max-age=631138519";
    root /usr/lib/python2.6/site-packages/baruwa/public;
    index index.html index.htm;
    client_max_body_size 25M;

    location /robots.txt {
      log_not_found off;
      access_log off;
      return 404;
    }

    location ~/default\/(imgs|js|css|font)/ {
      root /usr/share/baruwa/themes/assets;
      expires max;
      add_header Cache-Control "public";
      break;
    }

    location ~/.+\/(imgs|js|css|font)/ {
      root /usr/share/baruwa/themes/assets;
      expires max;
      add_header Cache-Control "public";
      break;
    }

    location ~/(imgs|js|css|font)/ {
      root /usr/lib/python2.6/site-packages/baruwa/public;
      expires max;
      add_header Cache-Control "public";
      break;
    }

    location = /favicon.ico {
      root /usr/lib/python2.6/site-packages/baruwa/public/imgs;
      expires max;
      add_header Cache-Control "public";
      break;
    }

    location = /default/favicon.ico {
      root /usr/share/baruwa/themes/assets/default/imgs;
      expires max;
      add_header Cache-Control "public";
      break;
    }

    location = ~/.+\/favicon\.ico/ {
      root /usr/share/baruwa/themes/assets/$host/imgs;
      expires max;
      add_header Cache-Control "public";
      break;
    }

    location / {
      uwsgi_pass baruwacluster;
      include uwsgi_params;
      uwsgi_param SCRIPT_NAME '';
      uwsgi_param UWSGI_SCHEME $scheme;
    }
}