【问题标题】:Why do I get a proxy error on a web server, but not on localhost?为什么我在 Web 服务器上出现代理错误,但在 localhost 上却没有?
【发布时间】:2020-02-11 07:23:55
【问题描述】:

我正在尝试编写一个代理来访问一个 api,并且有一些可以在我的本地机器上正常运行的工作代码。现在我尝试在 glitch.me 和 heroku 上托管此代码,但它会导致 ECONNREFUSED 错误。

这只发生在给定域上,不会发生在任何其他域上(例如 www.google.com、www.nytimes.com 等...)。在 localhost 上运行此代码可以正常工作。

我无法理解问题出在哪里,而且我在网上找到很多关于 ECONNREFUSED 的信息也不是很幸运。

这是在我的机器上运行的代码,但在 glitch.me 或 heroku 上不起作用:

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


const listener = app.listen(process.env.PORT, function () {
  console.log('Your app is listening on port ' + listener.address().port);
});


app.get("/", function(req, res) {
    request("https://api.justimmo.at/rest/v1/objekt/list", function (error, response, body) {
        res.send(body);
    });
});

这是我从调试器中得到的:

error: { Error: connect ECONNREFUSED 88.99.236.189:443
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1191:14)
  errno: 'ECONNREFUSED',
  code: 'ECONNREFUSED',
  syscall: 'connect',
  address: '88.99.236.189',
  port: 443 }

预期结果将是 401 Unauthorized 错误。

这个问题可能出在哪里?

【问题讨论】:

    标签: node.js express http glitch-framework


    【解决方案1】:

    是的,这个(api.justimmo.at)域是安全的。您需要先对用户进行身份验证。传递用户 ID 和密码。我在收到请求时从 Bower 向 401 打招呼。

    【讨论】:

      猜你喜欢
      • 2013-12-29
      • 1970-01-01
      • 1970-01-01
      • 2011-09-28
      • 2018-05-30
      • 2022-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多