ansible-roles/roles/taiga/templates/nginx.conf.j2

77 lines
2.1 KiB
Django/Jinja

server {
listen 443 ssl http2;
server_name {{ taiga_public_url | urlsplit('hostname') }};
large_client_header_buffers 4 32k;
client_max_body_size {{ taiga_max_upload_file_size }}M;
charset utf-8;
# Frontend
location / {
alias {{ taiga_root_dir }}/app/front/dist/;
index index.html;
try_files $uri $uri/ index.html =404;
}
# API
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:{{ taiga_ports['back'] }}/api/;
proxy_redirect off;
}
# 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:{{ taiga_ports['back'] }}/admin/;
proxy_redirect off;
}
# Static files
location /static/ {
alias {{ taiga_root_dir }}/app/back/static/;
}
# Media
location /_protected/ {
internal;
alias {{ taiga_root_dir }}/data/media/;
add_header Content-disposition "attachment";
}
# Unprotected section
location /media/exports/ {
alias {{ taiga_root_dir }}/data/media/exports/;
add_header Content-disposition "attachment";
}
location /media/ {
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:{{ taiga_ports['protected'] }}/;
proxy_redirect off;
}
# Events
location /events {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_connect_timeout 7d;
proxy_send_timeout 7d;
proxy_read_timeout 7d;
proxy_pass http://127.0.0.1:{{ taiga_ports['events'] }}/events;
}
}