2011-10-07 25 views
9

im sử dụng mã sau đây cho http-proxy:Có thể định tuyến động Node-http-proxy?

var httpProxy = require('http-proxy'); 

var options = { 
    router: { 
    'url1.com': '127.0.0.1:3000', 
    'url2.com': '127.0.0.1:3001' 
    } 
}; 

httpProxy.createServer(options).listen(80); 

Câu hỏi của tôi là, tôi có thể cập nhật các routetable động? Không tắt máy chủ proxy?

Thx cho câu trả lời

Trả lời

15

Đối với mọi người phải đối mặt với vấn đề đó, cuối cùng tôi đã nhận được giải pháp ra khỏi hộp. Tất cả của nó có thể, nếu u vượt qua một chuỗi trỏ đến một tập tin, thay vì đi qua một đối tượng như arg. Tôi sẽ đưa ra một ví dụ và nó phải rõ ràng.

proxy.js:

var httpProxy = require('http-proxy'); 
var options = { router: 'table.json' }; 

httpProxy.createServer(options).listen(80); 

Như u thấy ở đây, tôi vượt qua table.json như tùy chọn router. Vì vậy, nhìn vào bên trong tập tin đó.

table.json:

{ 
    "router": 
    { 
     "domain1.com": "127.0.0.1:8080", 
     "domain2.com": "127.0.0.1:8001" 
    } 
} 

Và thats toàn ma thuật. node-http-proxy sẽ theo dõi tập tin đó, và nếu bạn thực hiện bất kỳ thay đổi nào, nó sẽ tự động cập nhật đường đi của nó.

Chúc mừng

+0

Và đó là cách bạn có máy chủ proxy hoạt động và chạy trong 5 phút. Tôi thấy NodeJS tuyệt vời. Ánh sáng và đơn giản. – Pijusn

0

Có, nhưng không sử dụng ProxyTable. Tôi đã ghi lại tài liệu an alternative to http-proxy's ProxyTable called 'Switchboard' thực hiện những gì bạn muốn. Bạn sẽ phải sắp xếp lại một số tính năng để khởi tạo các đường dẫn và các mục tiêu phụ trợ đúng cách, nhưng nó phải là một thao tác đơn giản và đối tượng backendTable có sẵn động trong thời gian chạy.

Các vấn đề liên quan