2014-11-12 9 views
0

이 node.js 프록시 서버는 내 우분투 서버에서 완벽하게 작동합니다 (호스트를 서버 IP로 변경하고 포트를 8080으로 변경). 그러나이 서버는 변경시 실패합니다.
server.js :openshift 또는 appfog와 같은 호스트에서이 node.js 프록시 서버를 작동 시키려면 어떻게해야합니까?

var 
    url = require('url'), 
    http = require('http'); 

console.log ('------------------------------------------ '); 
var host = process.env.OPENSHIFT_NODEJS_IP || "localhost"; 
var port = process.env.OPENSHIFT_NODEJS_PORT || 80; 
console.log(port + ' '+ host); 
var d = require('domain').create(); 
d.on('error', function(err){ 
    // handle the error safely 
    console.log('d.on error: '+err.message); 
}); 

// catch the uncaught errors in this asynchronous or synchronous code block 
d.run(function(){ 
    // the asynchronous or synchronous code that we want to catch thrown errors on 
    http.createServer(function (request, response) { 

     console.log('request ' + request.url); 

     //----------------------------------- 

      request.pause(); 
      var options = url.parse(request.url); 
      options.headers = request.headers; 
      options.method = request.method; 
      options.agent = false; 

      var connector = http.request(options, function(serverResponse) { 
       serverResponse.pause(); 
       response.writeHeader(serverResponse.statusCode, serverResponse.headers); 
       serverResponse.pipe(response); 
       serverResponse.resume(); 
      }); 

      request.pipe(connector); 
      request.resume(); 


     //----------------------- 

    }).listen(port, host); 
}); 

이 서버 로그 포트와 호스트로 8080 127.13.56.111. Getip.com은 응용 프로그램 URL (examplesite.rhcloud.com) IP 주소로 54.166.197.111을 제공합니다. 나는 응용 프로그램의 URL을 핑 (ping) 할 때 나는이 IP를 얻을 :

54.166.197.111 80

127.13.56.111 8080

: 내가 좋아하는 조합의 모든 종류를 사용하는 브라우저에서 내 LAN에 프록시 설정으로 10.30.224.111

10.30.224.111 80

아무 것도 작동하지 않습니다. 내 http 요청은 LAN 프록시 설정을 변경 한 후 브라우저를 형성하고 내 서버에 도달하지 마십시오. 이러한 요청은 기록하지 않습니다. 어떻게 서버에 연결할 수 있습니까? 이 프록시 서버를 오픈 시프트로 작동 시키려면 스크립트에서 무엇을 변경해야합니까? (또는 어쩌면 당신은 appfog에 대한 답을 알고있다.)

을 여기 내 package.json : OpenShift 온라인으로

{ 
    "name": "OpenShift-Sample-App", 
    "version": "1.0.0", 
    "description": "OpenShift Sample Application", 
    "keywords": [ 
    "OpenShift", 
    "Node.js", 
    "application", 
    "openshift" 
    ], 
    "author": { 
    "name": "OpenShift", 
    "email": "[email protected]", 
    "url": "http://www.openshift.com/" 
    }, 
    "homepage": "http://www.openshift.com/", 
    "repository": { 
    "type": "git", 
    "url": "https://github.com/openshift/origin-server" 
    }, 

    "engines": { 
    "node": ">= 0.6.0", 
    "npm": ">= 1.0.0" 
    }, 

    "dependencies": { 
    "domain": "0.0.0" 
    }, 
    "devDependencies": {}, 
    "bundleDependencies": [], 

    "private": true, 
    "main": "server.js" 
} 

답변