在服务器上,端口如何在Node.js中工作?

我目前正在本地开发一个节点服务器,并访问它我有服务器在8080上侦听,然后在浏览器中去localhost:8080。 但是,当我把这个项目放到互联网上时,端口如何工作呢?

一旦你“把它放在互联网上”将如何工作将是完全一样的。 浏览器仍然向一个端口(最有可能是80或443在互联网上)的请求,除了它可能会通过互联网而不是localhost到networking服务器。

如果您想了解如何将节点项目部署到服务器,请查看本指南 。 基本上你需要设置一个代理来坐在节点前面来处理所有的服务器,比如request和ssl证书。

我假设你的意思是服务于你的node.js程序,并通过把这个项目在互联网上 代理你的localhost端口到Internet 。 一个简短的答案是,你永远不会在互联网上的某个端口上托pipe你的API,而是暴露你的本地端口到Internet端口。

我相信你已经知道了一个稳定的服务node.js程序。 如果不是,我真的推荐pm2 。

如果您想将您的API暴露于Internet,您首先必须获得本地networking的IP,以便其他人可以通过此IP访问您的networking。 你也可以把它和一个域联系起来。 然后使用像IPfire这样的软件来pipe理端口映射。 例如,您可以将IP ofLocalhostAtLocalNetwork:8080映射到IP ofLocalhostAtLocalNetwork:8080 。 然后,人们可以通过yourIP:8080访问您的API。 或者您可以简单地将yourIP:80映射到IPofLocalhostAtLocalNetwork:8080以便人们可以通过IP直接访问您的API。

另一个非常受欢迎的服务器和代理服务工具是nginx 。 借助Nginx,您可以轻松地为一些服务提供服务,并将代理任何端口用于任何服务。