2016-07-11 4 views
0

node.js에 http 프록시를 만들어서 요청을 받고 서버에 새로운 요청을하는 중입니다. 내 목적은 잠시 동안 교차 근원 문제를 제거하고 응용 프로그램을 테스트하는 것입니다. 나는 Node.js를에서 완전히 초보자 해요, 그래서 내가 옳은 길입니다Node.js의 http 프록시

 _stream_readable.js:536 
    var ret = dest.write(chunk); 
    dest.write is not a function 

: 는하지만 난 예외를 받고 있어요? 아니면 더 좋은 방법이 있을까요?

app.get('/tlq', (req, res) => { 
    console.log('serve: ' + req.url); 
    var options = { 
    hostname: 'www.google.com', 
    port: 80, 
    path: req.url, 
    method: 'GET' 
    }; 
    var proxy = http.request(options, function (res) { 
    res.pipe(res, { 
     end: true 
    }); 
    }); 

    req.pipe(proxy, { 
    end: true 
    }); 
}); 

답변

1

원본 교차 오류를 제거하려면 Access Control 헤더를 보내야합니다 (데이터가 클라이언트로 전달되기 전에). 이를 위해 다음 미들웨어를 사용할 수 있습니다.

app.use(function(req, res, next) { 
    res.header("Access-Control-Allow-Origin", "*"); 
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); 
    next(); 
});