Вы очень близки, вы отправляете правильное тело http, но с неправильными заголовками http.
Вот минимальный рабочий пример:
const express = require('express');
const http = require('http');
const app1 = express();
app1.get('/', function (req, res) {
res.download('server.js');
});
app1.listen(8000);
const app2 = express();
app2.get('/', function (req, res) {
http.get({ path: '/', hostname: 'localhost', port: 8000}, function (resp) {
res.setHeader('content-disposition', resp.headers['content-disposition']);
resp.pipe(res);
});
});
app2.listen(9000);
Хотя я бы сказал, что выследует взглянуть на модули типа https://github.com/nodejitsu/node-http-proxy, которые заботятся о заголовке и т. д.,,для тебя.