Trước hết phân biệt không bắt tay mở được kết nối với mở được rồi mới bị đóng. Hai triệu chứng dẫn đến cách kiểm tra khác nhau.
Cho ứng dụng nhận yêu cầu nâng cấp giao thức
Với route dành riêng cho WebSocket, đặt đoạn sau trong 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";
}
chỉ rõ dùng HTTP/1.1 khi gọi backend. chuyển yêu cầu đổi giao thức của client. báo cho backend kết nối này đang yêu cầu đổi giao thức. Cần chuyển rõ các header này vì proxy không tự chuyển tiếp mọi header chỉ có ý nghĩa trên từng kết nối.
