Default timeout needs to be increased on API endpoint as well as on the websocket (though smaller) - otherwise, especially on slower systems and with large Gcode files plus object exclusion, sending directly from slicer times out with HTTP 504
97 lines
2.7 KiB
Plaintext
97 lines
2.7 KiB
Plaintext
# /etc/nginx/sites-available/mainsail
|
|
|
|
server {
|
|
listen 80;
|
|
|
|
access_log /var/log/nginx/mainsail-access.log;
|
|
error_log /var/log/nginx/mainsail-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 mainsail static files
|
|
root /home/pi/mainsail;
|
|
|
|
index index.html;
|
|
server_name _;
|
|
|
|
# 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_http_version 1.1;
|
|
proxy_set_header Upgrade $http_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_set_header X-Scheme $scheme;
|
|
proxy_read_timeout 600;
|
|
}
|
|
|
|
location /webcam/ {
|
|
postpone_output 0;
|
|
proxy_buffering off;
|
|
proxy_ignore_headers X-Accel-Buffering;
|
|
access_log off;
|
|
error_log off;
|
|
proxy_pass http://mjpgstreamer1/;
|
|
}
|
|
|
|
location /webcam2/ {
|
|
postpone_output 0;
|
|
proxy_buffering off;
|
|
proxy_ignore_headers X-Accel-Buffering;
|
|
access_log off;
|
|
error_log off;
|
|
proxy_pass http://mjpgstreamer2/;
|
|
}
|
|
|
|
location /webcam3/ {
|
|
postpone_output 0;
|
|
proxy_buffering off;
|
|
proxy_ignore_headers X-Accel-Buffering;
|
|
access_log off;
|
|
error_log off;
|
|
proxy_pass http://mjpgstreamer3/;
|
|
}
|
|
|
|
location /webcam4/ {
|
|
postpone_output 0;
|
|
proxy_buffering off;
|
|
proxy_ignore_headers X-Accel-Buffering;
|
|
access_log off;
|
|
error_log off;
|
|
proxy_pass http://mjpgstreamer4/;
|
|
}
|
|
}
|