nginx.conf 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. server {
  2. listen 80;
  3. server_name _;
  4. # Frontend - serve static files
  5. location / {
  6. root /app/static/dist;
  7. index index.html;
  8. try_files $uri $uri/ /index.html;
  9. }
  10. # Serve static assets (legacy CSS, images, etc.)
  11. location /static/ {
  12. alias /app/static/;
  13. expires 1d;
  14. add_header Cache-Control "public, immutable";
  15. }
  16. # API proxy to backend
  17. location /api/ {
  18. proxy_pass http://127.0.0.1:8080;
  19. proxy_set_header Host $host;
  20. proxy_set_header X-Real-IP $remote_addr;
  21. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  22. proxy_set_header X-Forwarded-Proto $scheme;
  23. }
  24. # WebSocket proxy
  25. location /ws/ {
  26. proxy_pass http://127.0.0.1:8080;
  27. proxy_http_version 1.1;
  28. proxy_set_header Upgrade $http_upgrade;
  29. proxy_set_header Connection "upgrade";
  30. proxy_set_header Host $host;
  31. proxy_set_header X-Real-IP $remote_addr;
  32. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  33. proxy_read_timeout 86400;
  34. }
  35. # Legacy endpoints (non-/api/ routes that go to backend)
  36. location ~ ^/(preview_thr_batch|get_theta_rho_coordinates|pause_execution|resume_execution|stop_execution|skip_pattern|set_speed|restart|shutdown|run_pattern|run_playlist|connect_device|disconnect_device|home_device|clear_sand) {
  37. proxy_pass http://127.0.0.1:8080;
  38. proxy_set_header Host $host;
  39. proxy_set_header X-Real-IP $remote_addr;
  40. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  41. proxy_set_header X-Forwarded-Proto $scheme;
  42. }
  43. }