nginx WebSocket支持配置
server { listen 80; server_name your-domain.com; # MinIO Console代理配置 location / { proxy_pass http://minio-cluster:9001; # MinIO Console端口 # WebSocket支持配置 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; 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_set_header X-Forwarded-Proto $scheme; # 超时设置 proxy_connect_timeout 60s; proxy_send_timeout 60s; proxy_read_timeout 60s; # 缓冲区设置 proxy_buffering off; proxy_request_buffering off; } # MinIO API代理配置(如果需要) location /api/ { proxy_pass http://minio-cluster:9000; 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_set_header X-Forwarded-Proto $scheme; proxy_connect_timeout 300s; proxy_send_timeout 300s; proxy_read_timeout 300s; } }
3. 关键配置说明 nginx # 这三个头信息对WebSocket至关重要 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; # 确保Host头正确传递 proxy_set_header Host $http_host; # 禁用缓冲,避免WebSocket数据被缓存 proxy_buffering off;
“HTTP 短,WebSocket 长;Upgrade 头别忘,超时调长,负载均衡用 IP 绑。”“IP 绑”= IP Hash(源地址哈希) 这一种调度算法。
做法很简单:nginx 里把 ip_hash; 写进 upstream,调度器就把 客户端 IP 取哈希 → 固定映射到某一台后端。
时来天地皆同力,运去英雄不自由
浙公网安备 33010602011771号