【问题标题】:How to switch between address port in Node.js如何在 Node.js 中的地址端口之间切换
【发布时间】:2019-01-16 11:52:05
【问题描述】:

在 Node.js 应用程序中,我正在监听 localhost 上的两个端口,如下所示:

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

function startServer(port, hostname, app) {

    app.get('/', (req, res) => {
      res.send(`Welcome on server ${hostname} on port ${port}`);
    });

    app.listen(port, hostname);
    console.log(`listening ${hostname} on port ${port}`);
};

function startServerRedirect(port, hostname, app) {

    app.get('/', (req, res) => {

      res.send(`running server on ${hostname} on port ${port}`);
      res.redirect('localhost:4000');
    });

    app.listen(port, hostname);
    console.log(`listening ${hostname} on port ${port}`);
};

var hostname = '127.0.0.1';
startServerRedirect(3000, hostname, app);
startServer(4000, hostname, app);

我在默认 80 端口上运行第一台服务器时遇到问题,但这没关系。我希望能够在另一个服务器端口上发送用户并显示他/她的其他内容。这样做对我来说很重要,而不是 app.route 之类的。

【问题讨论】:

  • 您无法在端口 80 上启动您的服务器。您的问题是什么我不明白,请详细说明。
  • 我认为他想在他的 nodejs 实例运行时将用户重定向到另一个服务器端口。
  • 你不想打电话给res.send 然后res.redirect。也许用console.log替换res.send

标签: javascript node.js express port


【解决方案1】:

试试这个

const port = process.env.PORT || 80 ;

【讨论】:

    【解决方案2】:

    要使此设置生效,您需要进行一些更改。

    首先,您需要两个独立的快速应用程序,一个用于处理重定向,另一个用于接收重定向。即 2 个不同的端口。

    const app1 = express()
    const app2 = express()
    

    当然最后你会将它们传递给你的辅助函数:

    startServerRedirect(3000, hostname, app1);
    startServer(4000, hostname, app2);
    

    另外,在您致电redirect 时,请确保在本例中使用带有“http://”的完整网址,http://localhost:4000

    最后,您不想在res.redirect 之前调用res.send。原因是res.send 启动响应,但res.redirect 设置http 标头。您设置的任何 http 标头都需要先完成。所以在这里,因为它只是提供信息,如果你想检查应用程序是如何工作的,你可以使用 console.log 代替:

    app.get('/', (req, res) => {
      console.log(`running server redirect on ${hostname} on port ${port}`);
      res.redirect('http://localhost:4000');
    });
    

    那是startServerRedirect

    至于端口 80,我相信您需要 root 访问权限才能在那里运行,但这是另一个问题...(nginx 代理?)

    【讨论】:

      猜你喜欢
      • 2020-02-03
      • 1970-01-01
      • 2023-03-03
      • 1970-01-01
      • 1970-01-01
      • 2023-04-10
      • 1970-01-01
      • 2018-07-04
      • 2015-12-24
      相关资源
      最近更新 更多