server {
    listen 443 ssl;
    server_name {{ inventory_hostname }};

    ssl_certificate /etc/letsencrypt/live/{{ inventory_hostname }}/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/{{ inventory_hostname }}/privkey.pem;
    ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256;
    add_header Strict-Transport-Security "max-age=31536000;";
    ssl_session_cache shared:SSL:20m;
    ssl_session_timeout 180m;
    ssl_prefer_server_ciphers on;

    large_client_header_buffers 4 32k;
    client_max_body_size 50M;
    charset utf-8;
    types_hash_max_size 4096;

    # Langdon wanted his project renamed... so we redirect.
    rewrite ^/project/langdon-modularity/(.*)$ /project/modularity/$1 redirect;

    # Frontend
    location / {
        root /srv/taiga/taiga-front-dist/dist/;
        try_files $uri $uri/ /index.html;

        disable_symlinks off;
    }

    # Backend
    location /api {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:8001/api;
        proxy_redirect off;
    }

### no more admiin access
#    # Django admin access (/admin/)
#    location /admin {
#        proxy_set_header Host $http_host;
#        proxy_set_header X-Real-IP $remote_addr;
#        proxy_set_header X-Scheme $scheme;
#        proxy_set_header X-Forwarded-Proto $scheme;
#        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#        proxy_pass http://127.0.0.1:8001$request_uri;
#        proxy_redirect off;
#    }

    # Static files
    location /static {
        alias /srv/taiga/taiga-back/static;
    }

    # Media files
    location /media {
        alias /srv/taiga/taiga-back/media;
    }
}
