66 lines
1.8 KiB
Django/Jinja
66 lines
1.8 KiB
Django/Jinja
# /etc/nginx/sites-available/fluidd
|
|
|
|
map $http_upgrade $connection_upgrade {
|
|
default upgrade;
|
|
'' close;
|
|
}
|
|
|
|
upstream apiserver {
|
|
ip_hash;
|
|
server {{ fluidd_api_server }};
|
|
}
|
|
|
|
server {
|
|
listen 80 ;
|
|
server_name {{ fluidd_domain }};
|
|
access_log /var/log/nginx/fluidd-access.log;
|
|
error_log /var/log/nginx/fluidd-error.log;
|
|
|
|
# disable this section on smaller hardware like a pi zero
|
|
gzip on;
|
|
gzip_vary on;
|
|
gzip_proxied any;
|
|
gzip_proxied expired no-cache no-store private auth;
|
|
gzip_comp_level 4;
|
|
gzip_buffers 16 8k;
|
|
gzip_http_version 1.1;
|
|
gzip_types text/plain text/css text/xml text/javascript application/javascript application/x-javascript application/json application/xml;
|
|
|
|
# web_path from fluidd static files
|
|
root {{ fluidd_dir }};
|
|
|
|
index index.html;
|
|
|
|
# disable max upload size checks
|
|
client_max_body_size 0;
|
|
|
|
# disable proxy request buffering
|
|
proxy_request_buffering off;
|
|
|
|
location / {
|
|
try_files $uri $uri/ /index.html;
|
|
}
|
|
|
|
location = /index.html {
|
|
add_header Cache-Control "no-store, no-cache, must-revalidate";
|
|
}
|
|
|
|
location /websocket {
|
|
proxy_pass http://apiserver/websocket;
|
|
proxy_http_version 1.1;
|
|
proxy_set_header Upgrade $http_upgrade;
|
|
proxy_set_header Connection $connection_upgrade;
|
|
proxy_set_header Host $http_host;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_read_timeout 86400;
|
|
}
|
|
|
|
location ~ ^/(printer|api|access|machine|server)/ {
|
|
proxy_pass http://apiserver$request_uri;
|
|
proxy_set_header Host $http_host;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Scheme $scheme;
|
|
}
|
|
} |