Browse Source

feat: 添加 nginx HTTPS + WebSocket 代理配置,支持 VNC 控制台

Hermes Agent 1 week ago
parent
commit
96a26a3ae6
1 changed files with 57 additions and 0 deletions
  1. 57 0
      nginx/kvm-nginx.conf

+ 57 - 0
nginx/kvm-nginx.conf

@@ -0,0 +1,57 @@
+upstream kvm_backend {
+    server 127.0.0.1:8004;
+}
+
+upstream kvm_frontend {
+    # 前端机器 IP,根据实际情况修改
+    server 172.16.30.94:8006;
+}
+
+server {
+    listen 80;
+    server_name _;
+    return 301 https://$host$request_uri;
+}
+
+server {
+    listen 443 ssl;
+    server_name _;
+
+    # 自签名 SSL 证书(内网用)
+    ssl_certificate /etc/nginx/ssl/server.crt;
+    ssl_certificate_key /etc/nginx/ssl/server.key;
+    ssl_protocols TLSv1.2 TLSv1.3;
+    ssl_ciphers HIGH:!aNULL:!MD5;
+
+    # 静态文件代理到前端机器
+    location / {
+        proxy_pass http://kvm_frontend;
+        proxy_set_header Host $host;
+        proxy_set_header X-Real-IP $remote_addr;
+        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+    }
+
+    # API 代理到后端
+    location /api/ {
+        proxy_pass http://kvm_backend;
+        proxy_set_header Host $host;
+        proxy_set_header X-Real-IP $remote_addr;
+        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_read_timeout 300s;
+    }
+
+    # 健康检查
+    location /health {
+        proxy_pass http://kvm_backend;
+    }
+
+    # WebSocket (VNC 控制台)
+    location /ws/ {
+        proxy_pass http://kvm_backend;
+        proxy_http_version 1.1;
+        proxy_set_header Upgrade $http_upgrade;
+        proxy_set_header Connection "upgrade";
+        proxy_read_timeout 3600s;
+        proxy_send_timeout 3600s;
+    }
+}