如何在同一端口上运行不同的服务器?



我已经创建了2个服务器与express和node.js,现在我想在同一端口上运行这两个服务器,这是localhost:8000与不同的端点。如何做到这一点,或者有什么方法?

附加服务器代码供参考:-

Server1: -

const express = require("express");
const cors = require("cors");
const app = express();
const axios = require('axios');
app.use(cors());
process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = 0;
const PORT = 8000;
app.get("/WeatherForcast", function (req, res) {
axios.get('https://localhost:7173/WeatherForecast')
.then(response => {
res.status(200).json({ success: true, data: response.data});
})
.catch(error => {
console.log(error);
});
});
app.listen(PORT, function () {
console.log(`Server is running on ${PORT}`);
});

Server2: -

const express = require("express");
const cors = require("cors");
const app = express();
const axios = require('axios');
app.use(cors());
process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = 0;
const PORT = 8000;
app.get("/UserData", function (req, res) {
axios.get('https://localhost:7173/UserData')
.then(response => {
res.status(200).json({ success: true, data: response.data});
})
.catch(error => {
console.log(error);
});
});
app.listen(PORT, function () {
console.log(`Server is running on ${PORT}`);
});

当前,当我运行它时,一个服务器运行,另一个服务器显示一个错误,端口8000已被使用

您不能在同一个端口上运行两个服务器。操作系统和TCP栈不允许。

最简单的解决方案是在一台服务器上使用两个端点。

如果你必须有两个独立的服务器,那么你可以在不同的端口上运行它们(这两个端口都不是公共端口),然后使用像nginx这样的东西来代理每个单独的路径到适当的服务器。

因此,用户的请求转到代理,代理检查请求的路径,然后根据请求的路径(如代理配置中的设置)将其转发到两台服务器中的一台。

两个不同的服务器不能在同一个端口上托管,因为它会给出错误,即"此端口当前正在使用";像这样。

可以做的事情是,而不是创建多个服务器,你可以创建一个服务器,并定义不同的端点来管理代码流。

不可能在同一个端口上运行不同的服务器

相关内容

  • 没有找到相关文章

最新更新