我在nodeJS中编写了一个小应用程序,它现在在端口3000上侦听,通过多个设备访问它,使用以下行:server.listen(process.env.PORT || 3000);
。
我对网络还不了解,我想知道我的服务器使用这种代码打开的可访问性级别。
互联网上的每个人? 使用相同互联网提供商的邻居? 我的Wi-Fi?
即使我在这里忽略了这一点,您能否告诉我如何确保简单的nodeJS服务器应用程序访问仅限于附近的设备?
答案 0 :(得分:1)
您的服务器允许哪种可访问性取决于您运行服务器的位置以及运行它的端口。
例如,如果您在本地计算机上运行服务器,则本地网络中的任何人(连接到路由器的每个人)都可以通过<YOUR_LOCAL_IP>:3000
您可以通过系统偏好设置&gt;找到您的局域网IP MacOS上的网络。或者打开终端并使用arp -a
。
例如,如果您在数字海洋等提供商的服务器上运行应用程序,他们会为您提供公共IP。您可以通过该IP以及运行应用程序的端口访问您的应用程序。
Web应用程序在端口80上运行,因为这是http的默认端口。 (如果是https则为443)。例如,当您向www.google.com提出请求时,实际上是请求端口80。
但是如果你仍想在端口3000上运行你的应用程序,你仍然可以这样做,但是你也必须指定端口。例如,如果www.google.com在端口3000上运行,则wwww.google.com:3000
可以正常工作。