我们想通过 appfog 上的 node.js 代理上网冲浪。
我们尝试了这段代码:
proxy2a.js:
var http = require('http');
var port = process.env.VCAP_APP_PORT || 8080;
console.log ('the portnumber is: '+ port) ;
http.createServer(function(request, response) {
var proxy = http.createClient(80, "checkip.dyndns.org");
var proxy_request = proxy.request(request.method, request.url, request.headers);
proxy_request.on('response', function (proxy_response) {
proxy_response.pipe(response);
response.writeHead(proxy_response.statusCode, proxy_response.headers);
console.log(proxy_response.statusCode) ;
});
request.pipe(proxy_request);
}).listen(port);
包.json:
{
"name": "proxy2a",
"author": "parker",
"version": "0.0.0-14",
"dependencies": {
},
"devDependencies": {},
"optionalDependencies": {},
"engines": {
"node": "0.6.x",
"iisnode": "*"
},
"scripts": {
"start": "node proxy2a.js"
}
}
我们有这个问题的代码。(实际上我们只需要服务器访问一个网站,所以这个服务器只服务一个就可以了。)当我们在本地机器上运行服务器时,这段代码效果很好。(使用节点版本0.6.x。)但是当我们部署到appfog,没有反应。(我们通过使用另一个控制台 ping 部署 url 来获取 ip。)你知道如何让这样的代理服务器在 appfog 或任何其他 node.js 主机上工作吗?