我试图在同一台服务器(位于不同端口)中托管多个nodejs应用程序。
我正在端口3000、3001和3002中运行3个应用程序。
我能够同时运行所有这三个程序,但是问题是,只有当该应用程序在端口3000中运行时,才可以通过互联网(邮递员)访问它,但是当该应用程序在任何其他应用程序中运行时端口(3001或3001 ..)虽然成功运行,但无法通过互联网访问。
我尝试更新csf文件并在TCP_IN =“ 20,443,465,21,22,587,993,25,53,80,110,143,995,3000,3001,3001”和TCP_OUT中添加所有端口后重新启动防火墙
app.listen(PORT, () => {
console.log("Server is running on port: " + PORT)
});
--or--
const PORT = process.env.PORT || 3001;
app.listen(PORT, () => {
console.log("Server is running on port: " + PORT)
});
--or--
const PORT = process.env.PORT || 3002;
app.listen(PORT, () => {
console.log("Server is running on port: " + PORT)
});
另外,我将所有规则刷新到了防火墙(iptables)中,当前的iptables看起来像:
target prot opt source destination
Chain FORWARD (policy DROP)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
我希望我应该能够在任何开放端口中运行任何nodejs应用程序,并且应该可以通过Internet进行访问。
答案 0 :(得分:0)
似乎您遇到端口问题。我建议您执行以下操作可能对此有所帮助。
您可以更改端口号并尝试。
您可以使用traceroute来检查通过以下方式访问的这些端口(3000, 3001 , 3002 ) 特定的服务器。在https://serverfault.com/questions/49235/traceroute-tcp-equivalent-for-windows