簡體   English   中英

如何使用Node.js監聽我的公共IP地址端口

[英]How to listen on my public IP address port using Nodejs

我希望使用公共IP地址而不是本地主機訪問Nodejs應用程序。 現在要在本地主機上托管我的應用程序:

app.listen(process.env.PORT||9000,()=>{
    console.log('Server is running on 9000!')
})

我想設置Nodejs與Nodejs的通信。 我從stackoverflow獲得了幫助,並使用npm request包將發布請求從運行在端口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服務器在port 9000上偵聽,這意味着該端口上的所有通信都將被偵聽。 您唯一需要做的就是打開此端口,以允許來自“外部”的請求。

對於heroku ,我認為您不能這樣做。 但是,根據文檔, 端口80和443已經打開 ,因此,如果將端口更改為其中之一,則可以使用!

獎勵:

如何打開端口(在Linux上)

您可以使用ufw,一個簡單而著名的防火牆管理器。

sudo ufw allow 9000

此命令將打開您的端口9000,並允許外部請求重新請求您的nodejs服務器

我建議您先閱讀ufw的文檔,然后閱讀此好教程

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM