แยกก่อนว่า handshake ล้มเหลว หรือเชื่อมต่อสำเร็จแล้วปิดภายหลัง ทั้งสองอาการนำไปสู่การตรวจต่างกัน
ให้แอปพลิเคชันได้รับคำขอ upgrade
สำหรับ route WebSocket โดยเฉพาะ ให้วางใน server:
location /socket/ {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
ระบุใช้ HTTP/1.1 ไปยัง backend อย่างชัดเจน ส่งต่อการเปลี่ยนโปรโตคอลที่ไคลเอนต์ร้องขอ บอก backend ว่าการเชื่อมต่อนี้ขอเปลี่ยนโปรโตคอล ต้องส่งต่อส่วนหัวเหล่านี้อย่างชัดเจน เพราะ proxy ไม่ได้ส่งทุกส่วนหัวที่เฉพาะกับการเชื่อมต่อไปเอง
