我创build了一个新的实例,在EC2中添加了与之前相同的安全组 ,并select了与之前一样的VPC (一切都完全相同),但是现在我得到: ERR_CONNECTION_REFUSED当我尝试连接到端口8080
我在端口8080上运行了一个简单的nodejs server :
netstat -anp | grep :8080 (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN 2438/node
这个: sudo lsof -i输出:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME dhclient 640 root 5u IPv4 9825 0t0 UDP *:bootpc dhclient 640 root 20u IPv4 8531 0t0 UDP *:15190 dhclient 640 root 21u IPv6 8532 0t0 UDP *:13517 sshd 950 root 3u IPv4 10114 0t0 TCP *:ssh (LISTEN) sshd 950 root 4u IPv6 10116 0t0 TCP *:ssh (LISTEN) sshd 1140 root 3u IPv4 1708 0t0 TCP ip-xxxx.eu-west-1.compute.internal:ssh->xxxx:49442 (ESTABLISHED) sshd 1194 ubuntu 3u IPv4 1708 0t0 TCP ip-xxxx.eu-west-1.compute.internal:ssh->xxxx:49442 (ESTABLISHED) node 1800 ubuntu 12u IPv6 10541 0t0 TCP *:8545 (LISTEN) node 2438 ubuntu 16u IPv4 12327 0t0 TCP localhost:http-alt (LISTEN)
而且: sudo netstat -tulpn
Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN 2438/node tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 950/sshd tcp6 0 0 :::22 :::* LISTEN 950/sshd tcp6 0 0 :::8545 :::* LISTEN 1800/node udp 0 0 0.0.0.0:15190 0.0.0.0:* 640/dhclient udp 0 0 0.0.0.0:68 0.0.0.0:* 640/dhclient udp6 0 0 :::13517 :::* 640/dhclient
我在这里完全不知所措。
我尝试多次重新启动实例,重新添加一个安全组,没有任何帮助。
ERR_CONNECTION_REFUSED告诉我它存在,但端口转发没有被应用。
您可以在netstat输出中看到您的nodejs服务器正在监听本地环回设备127.0.0.1。 127.0.0.1:8080
您需要更改nodejs服务器来侦听0.0.0.0
事实certificate,这是一个nodejs服务器的问题,我不得不公开它的外部请求。 既然是在本地主机上工作,我不认为这会是一个问题。
所以像这样的东西:
app.listen(8080, '0.0.0.0', (err) => { ...
0.0.0.0确保它也响应外部IP。