[英]node.js http connection works with AWS instance, doesn't work with LoadBalancer
我正在使用node.js和http對象連接到具有特殊應用程序服務器的Web服務器。 對於亞馬遜上的服務器正常工作,沒有問題。
不,我們正在運行經典負載均衡器。 可以-我可以在瀏覽器中輸入ELB的URL,然后看到服務器的答案。
但是,當我嘗試使用node.js腳本打開相同的URL時,總是會超時。
樣例代碼:
try { console.log( "start test" ); var http = require("http"); var options = { host: "test.server.name", port: "80", path: "/dp/", headers: { 'Encoding' : 'BINARY' } }; console.log( "start get " + options.host ); http.get( options , function( res ) { console.log( "in callback" ); res.on('data', function(data) { console.log( "callback get data " + data ); }); res.on('end', function() { console.log( "callback end" ); }); res.on('error', function(e) { console.log( "callback error" ); }); } ); } catch( err ) { console.log( "error " + err.message ); }
代碼直接與服務器一起使用。 使用負載平衡器時不起作用。
我必須知道該怎么做-有什么想法嗎?
我知道了。 不知道為什么-但是問題出在我們正在使用的代理中。
我發現了這一點: 如何將HTTP代理與node.js http.Client一起使用? 通過使用我們的代理,它起作用了...
我找到了-是代理。
我使用以下方法設置代理: 如何將HTTP代理與node.js http.Client一起使用? 和這個: https : //www.vanamco.com/2014/06/24/proxy-requests-in-node-js/
現在工作!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.