2014-10-11 70 views
0

我的代碼:如何使用node-http-proxy進行302重定向?

var path = require('path'); 
var util = require('util'); 
var http = require('http'); 
var fs = require('fs'); 
var httpProxy = require('http-proxy'); 


httpProxy.createProxyServer({ 
    target: 'http://localhost:9000', 
    agent: https.globalAgent, 
    headers: { 
     host: 'localhost' 
    } 
}) 
.listen(8000); 

util.puts('proxy server listening on port 8000'); 

http.createServer(function targetServer(req, res) { 
    res.writeHead(302, { 'Location': '/' }); //Here is the 302 
    util.puts('request successfully proxied to: ' + req.url + '\n' + JSON.stringify(req.headers, true, 2)); 

    res.end(); 

}) 
.listen(9000); 

util.puts('target server listening on port 9000'); 

當我提出從我的瀏覽器我得到以下錯誤請求:

Error: socket hang up 

我不知道這是什麼錯誤表示。任何人都可以幫我解決這個問題嗎?

回答

0

我確實得到它的工作。
我不得不做兩件事情:

  1. 包括後續重定向包(NPM安裝後續重定向) 而改變我的http初始化: 要:
    VAR HTTP =需要(「跟蹤重定向」 ).http; from: var http = require('http');
  2. 在CreateProxyServer中包含{changeOrigin:true}屬性: var proxy = httpProxy.createProxyServer({changeOrigin:true,toProxy:true,});