当我运行以下命令时:
lsof -i:8080
结果如下:
node 32419 root 6u IPv4 122865 TCP localhost.localdomain:webcache (LISTEN)
该结果与以下命令的结果不同:
lsof -i:80
结果:
nginx 32029 root 6u IPv4 121546 TCP *:http (LISTEN)
nginx 32030 nginx 6u IPv4 121546 TCP *:http (LISTEN)
Nginx 是:“TCP *”,但节点的进程是“localhost.localdomain”。这是什么意思?localhost.localdomain
是否意味着进程只能从访问localhost
?
我无法通过 8080 端口从另一台服务器访问节点进程。
答案1
在第一种情况下,nginx 仅监听环回接口;127.0.0.1 通过 /etc/hosts 解析为 localhost.localdomain;在第二种情况下,nginx 监听所有可用接口(注意 *:http)
所以答案是肯定的,它只能从本地主机访问;
您可以向 lsof 添加“-n”标志来查看 IP 地址,而不是可能解析为的名称。
答案2
端口 8080 仅进行本地监听(在本地主机上)。
端口 80(显示为 http)正在监听端口 80 上的所有绑定 IP 地址。