kvm-nginx.conf 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. upstream kvm_backend {
  2. server 127.0.0.1:8004;
  3. }
  4. upstream kvm_frontend {
  5. # 前端机器 IP,根据实际情况修改
  6. server 172.16.30.94:8006;
  7. }
  8. server {
  9. listen 80;
  10. server_name _;
  11. return 301 https://$host$request_uri;
  12. }
  13. server {
  14. listen 443 ssl;
  15. server_name _;
  16. # 自签名 SSL 证书(内网用)
  17. ssl_certificate /etc/nginx/ssl/server.crt;
  18. ssl_certificate_key /etc/nginx/ssl/server.key;
  19. ssl_protocols TLSv1.2 TLSv1.3;
  20. ssl_ciphers HIGH:!aNULL:!MD5;
  21. # 静态文件代理到前端机器
  22. location / {
  23. proxy_pass http://kvm_frontend;
  24. proxy_set_header Host $host;
  25. proxy_set_header X-Real-IP $remote_addr;
  26. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  27. }
  28. # API 代理到后端
  29. location /api/ {
  30. proxy_pass http://kvm_backend;
  31. proxy_set_header Host $host;
  32. proxy_set_header X-Real-IP $remote_addr;
  33. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  34. proxy_read_timeout 300s;
  35. }
  36. # 健康检查
  37. location /health {
  38. proxy_pass http://kvm_backend;
  39. }
  40. # WebSocket (VNC 控制台)
  41. location /ws/ {
  42. proxy_pass http://kvm_backend;
  43. proxy_http_version 1.1;
  44. proxy_set_header Upgrade $http_upgrade;
  45. proxy_set_header Connection "upgrade";
  46. proxy_read_timeout 3600s;
  47. proxy_send_timeout 3600s;
  48. }
  49. }