node websocket 端口可以 localhost 访问,但是不能通过 ip 访问

如题

node ws 配置很简单:

const ws = new WS.Server({
  port: 8079,
  path: '/path'
})

端口也是开了的:

netstat -anp
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp6       0      0 :::8079                 :::*                    LISTEN      12957/node /root/no
tcp6       0      0 :::8080                 :::*                    LISTEN      2496/node /root/nod

内部可以访问:

nc -zv localhost 8079
Connection to localhost 8079 port [tcp/*] succeeded!

外部就不行了:

nc -zv [我的域名] 8079
超时

对比8080端口:

nc -zv [我的域名] 8080
found 0 associations
found 1 connections:
     1:    flags=82<CONNECTED,PREFERRED>
    outif en0
    src [请求ip] port 57028
    dst [对应ip] port 8080
    rank info not available
    TCP aux info available

Connection to [我的域名] port 80 [tcp/http] succeeded!

还需要什么信息吗?

阅读 5.3k
2 个回答

iptables配置一下这个端口为accept,此外如果是云服务器,看一下安全组有没有当掉这个端口

把host设置为0.0.0.0试试?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题