Node.js 如何使用Nodejs监听我的公共IP地址端口
我希望使用我的公共IP地址而不是本地主机访问我的Nodejs应用程序。现在,为了在localhost上托管我的应用程序,我正在做:Node.js 如何使用Nodejs监听我的公共IP地址端口,node.js,heroku,Node.js,Heroku,我希望使用我的公共IP地址而不是本地主机访问我的Nodejs应用程序。现在,为了在localhost上托管我的应用程序,我正在做: app.listen(process.env.PORT||9000,()=>{ console.log('Server is running on 9000!') }) 我想设置Nodejs到Nodejs的通信。我得到了stackoverflow和 使用npmrequest包将post请求从运行在端口3000上的我的一个nodejs服务器发送到运行在
app.listen(process.env.PORT||9000,()=>{
console.log('Server is running on 9000!')
})
我想设置Nodejs到Nodejs的通信。我得到了stackoverflow和
使用npmrequest
包将post请求从运行在端口3000上的我的一个nodejs服务器发送到运行在端口9000上的一个
const request = require("request");
var options = {
method: 'POST',
url: 'http://localhost:9000/',
headers: { 'Content-Type': 'application/json' },
body: { id: 1 },
json: true
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
// console.log(body);
// Process the body and return the response.
// return res.send(body);
});
但是,我想使用公共IP地址,因为我想在Heroku上托管我的一台服务器。我需要公共IP地址来创建通信如何使您的node.js在公共IP上侦听: 实际上,您的nodejs服务器在端口9000上侦听,这意味着此端口上的任何通信都将被侦听。您唯一需要的是打开此端口以允许来自“外部”的请求 对于heroku,我认为你做不到这一点。但是,根据文档,端口80和443已经打开,因此如果您将端口更改为其中一个,它将工作 奖金: 如何打开端口(在Linux上) 您可以使用ufw,一个简单而著名的防火墙管理器
sudo ufw allow 9000
此命令将打开端口9000并允许外部请求重新请求nodejs服务器
我建议您阅读之前的文档,看看这个好的到目前为止,您在部署应用程序方面做了哪些尝试?您有服务器设置和访问权限吗?是否要对应用程序进行dockerize?