# /etc/nginx/sites-available/<> server { listen 80; listen [::]:80; access_log /var/log/nginx/<>-access.log; error_log /var/log/nginx/<>-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/x-javascript application/json application/xml application/javascript; # web_path from <> static files root /home/pi/<>; 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_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; } location /webcam/ { proxy_pass http://mjpgstreamer1/; } location /webcam2/ { proxy_pass http://mjpgstreamer2/; } location /webcam3/ { proxy_pass http://mjpgstreamer3/; } location /webcam4/ { proxy_pass http://mjpgstreamer4/; } }