为什么我的express.js没有管道到我的后端服务器端口?

时间:2015-08-27 17:05:48

标签: node.js express ports

我使用Express.JS / Node托管我的网络服务器。它工作正常,使用这个:

var request = require('request');
var app = express();

var server = app.listen(8090, function () {

    var host = server.address().address;
    var port = server.address().port;

    console.log('Express server listening at http://%s:%s', host, port);

});

我可以导航到localhost:8090并启动我的网站。

我还使用php -S localhost:8088启动后端服务器。

这很好,我可以将api调用为localhost:8088/api/auth/check并返回我的测试值。

但是,我试图从我的网站上调用它,并继续使用端口8090.(AJAX with url:' /api/auth/check')

我以为我可以使用以下方法管道请求:

var apiUrl = process.env.apiUrl || 'http://localhost:8088/api';

app.use('/api', function(req, res) {
    var url = apiUrl + req.url;
    req.pipe(request(url)).pipe(res);
});

它不起作用 - 我得到一个ErrorConnectionRefused,我的chrome开发人员工具网络标签显示http://localhost:8090/api/auth/check

最奇怪的是,这确实以前工作 - 网络选项卡显示localhost:8090和api调用,但具体说主机名localhost:8088 - 我可以预览显示测试值的响应开发者控制台我也可以通过URL导航到http://localhost:8090/api/auth/check,它给出了正确的答案。

我错过了一些明显的东西吗?

0 个答案:

没有答案