关于端口和服务器侦听的初级问题



我刚刚完成了几个Node.js教程,希望对服务器端口侦听和计算机之间的通信进行一些说明。

我已经创建了几个基本的Node.js服务器,我在其中学到的是,你必须告诉你的服务器在某个端口上侦听

  1. 假设我的计算机(PC1(正在监听端口3000,这是否意味着当客户端(比如PC2(试图通过互联网连接到我的服务器时,客户端必须通过其一侧的端口3000发送请求,以便我的服务器接收并响应请求?

  2. 从Q1开始-如果PC2(客户端(试图连接到PC1(服务器(,而客户端的端口与服务器正在侦听的端口不同,这是否意味着什么都没有发生?

  3. 这是一个非常";beginnerish";问题假设我已经启动并运行了一个基本的Node.js服务器,然后一个客户端发出请求。在客户端信息到达Node.js中运行的服务器应用程序之前,客户端和服务器之间必须首先通过IP地址建立互联网连接,对吧?然后,如果服务器应用程序正在侦听的端口与客户端发送请求的端口相同,则服务器应用程序将做出响应?

我意识到这些都是基本问题,但在继续我的后端冒险之前,我真的想牢牢掌握这些概念。

请随时向我介绍您认为有助于我更好地理解这些概念的任何资源。

非常感谢!

如果你的防火墙关闭,并且你在一个转发端口3000的路由器后面,那么是的,你的3000是打开的,你可以从你的publicIP:3000自由连接。

我们通常在localhost:3000上侦听,但我们在防火墙3000上侦听。然后我们有一个前端反向代理(nginx,HAProxy(,它将端口80(http(/443(https(反转为3000。

反向代理也允许监听不同的域,所以你可以在3000上有一个应用程序,在3001上有不同应用程序的应用程序,并将不同的域重定向到它。

如果你因为在局域网后面而无法从PUBLIC IP访问,那么你可以安装类似ngrok的东西,它可以让你通过隧道从互联网连接。

最新更新