Tôi đang cố gắng để có được websockets cũng làm việc với node-http-proxy
. Sự khác biệt là tôi đang sử dụng một proxytable:Node http proxy với proxytable và websockets
var options = {
router: {
'a.websterten.com': '127.0.0.1:150',
'b.websterten.com' : '127.0.0.1:151',
}
};
var server = httpProxy.createServer(options);
tôi đã cố gắng:
server.on('upgrade', function (req, socket, head) {
server.proxy.proxyWebSocketRequest(req, socket, head);
});
Nhưng nó dường như không làm việc. Một kiểm tra nhanh để xem liệu WebSockets công việc cho thấy tôi nhận được Unexpected response code: 400
từ Chrome (hoạt động tốt nếu tôi đi trực tiếp)
Cũng làm một vài kiểm tra server.on('upgrade',..
không bắn vào một yêu cầu WebSocket
Làm thế nào tôi có thể nhận được của tôi máy chủ proxy để định tuyến websockets chính xác?
Tôi cũng đã thử này trên nút 0.8.23 cũng như nút 0.10.x (các phiên bản sau của nút có một vấn đề rò rỉ bộ nhớ, nhưng nó sẽ không làm việc trên 0.8.23 hoặc)
Tôi đã cố gắng này, có và không có nâng cấp có gì xảy ra, tôi không còn nhận được lỗi hoặc cuối cùng là sự cố. Tôi đang sử dụng ví dụ về bảng proxy và chỉ sửa đổi tên máy chủ thành các tên khác, không có chỉnh sửa nào khác – Akshat
@Akshat: Nghiên cứu sâu hơn cho thấy nó thực sự không tương thích với nút 0.10. Xem cập nhật. – josh3736
Tôi thấy, tôi cũng gặp sự cố với 0.8.2 với bản cập nhật gần đây. Không có giải pháp cho việc này không? – Akshat