作者:清春无悔396 | 来源:互联网 | 2023-09-14 08:22
我有一个使用 pm2 在Amazon EC2(Linux)实例上运行的回送应用程序。该应用程序正在 3000 端口上运行。在该应用程序中,我使用的是适用于Angular2(https://github.com/mean-expert-official/loopback-sdk-builder)的Loopback SDK。另外,我为实时通信和API调用启用了IO模块(https://github.com/mean-expert-official/loopback-component-realtime)。该模块的实现使其可以在本地主机(127.0.0.1)Ref:https://github.com/mean-expert-official/loopback-component-realtime/blob/master/dist/drivers/io.driver.js#L157上本地连接,这在我的本地计算机上可以正常工作,但是如果我在Amazon EC2实例上进行部署,则无法正常工作。在我得到 ECONNREFUSED 的实例上,我做了一些RnD,发现它不起作用,因为服务器没有在听127.0.0.1:3000。因此,无论使用哪种实时方式,我都使用以下方法进行了测试:
curl 127.0.0.1:3000
,然后得到这个错误
curl: (7) Failed to connect to 127.0.0.1 port 3000: Connection refused
我确实使用
检查服务器是否正在侦听端口
netstat -alnp | grep 3000
但是列表中没有类似
的项目
tcp 0 0 172.31.30.51:3000 0.0.0.0:* LISTEN 28466/node /home/ec
代表127.0.0.1:3000
当我将127.0.0.1替换为172.31.30.51(EC2实例的私有IP)时,它开始工作。
那么,有人可以指导我如何在127.0.0.1:3000上成功建立连接吗?因为我不想更改库。
我相信我必须在服务器的本地IP和私有IP之间进行一些绑定,但是我不知道这种方式。