2015-05-26 98 views
0

我想設置一個簡單的代理,它將我醜陋的長主機地址隱藏成一個很好的TLD格式,如https:// www.qwertyuiop.a-verylong-texthere.co.uk - > http:// awesome.me。不幸的是,我的主機不支持將TLD綁定到我的服務器。Node.js代理與https

使用RedHat的OpenShift,我已經嘗試過nodejitsu優秀的node-http-proxy庫的相應example,但它做的是將我重定向到醜陋的長主機地址,而不是保持好的http://真棒。我的網址。任何人都可以告訴我我做錯了什麼或者我錯過了什麼?任何建議來解決這個問題?

這裏是我的代碼剪斷與谷歌進行測試作爲目標HTTPS服務器:

var ipaddress = process.env.OPENSHIFT_NODEJS_IP; 
    var port  = process.env.OPENSHIFT_NODEJS_PORT || 8080; 

    httpProxy.createServer({ 
     target: 'https://google.com', 
     agent : https.globalAgent, 
     headers: { 
      host: 'google.com' 
     } 
    }).listen(port, ipaddress); 
+0

我想我可以通過從服務器創建對象中刪除'agent'和'headers'字段來解決它。 – Isolin

回答

0

解決的辦法是:

使用默認SampleApp和自我內創建一個代理對象:

self.proxy = httpProxy.createServer({ 
    ssl: { key: fs.readFileSync('ssl.key'), cert: fs.readFileSync('ssl.crt')}, 
    target: 'https://awesome.me', 
    secure: true 
}); 

然後用下列代替路線

self.routes['/*'] = function(req, res) { 
    self.proxy.web(req, res); 
};