无法使用 netcat 访问 nginx 端口

无法使用 netcat 访问 nginx 端口

我有这个简单的 nginx 配置文件:

server {
  listen 4000;
  location / {
    root /usr/share/nginx/html;
    index index.html index.htm;
    try_files $uri $uri/ /index.html =404;
  }
}

nginx 服务正在运行,但如果我运行:

nc -z localhost 4000

我没有收到回应,但如果我检查端口 80,它就会起作用:

nc -z localhost 80
Connection to localhost 80 port [tcp/http] succeeded!

我在docker上运行nginx,并暴露端口80和4000。

答案1

这里涉及两件事。

  1. 可能您使用了两个不同的ncs。一个是静音,一个是详细。在这种情况下,对于静音,可以使用开关-v让它说话,或者使用其退出代码$?。(0 表示成功,1 表示失败。)

  2. 如果情况 1. 不是这样,则无论如何使用-v$?。很难说不同端口出现这种混合行为的原因是什么。

插图:

$ nc -z localhost 8080
$ echo $?
0
$ nc -z localhost 8081
$ echo $?
1
$ nc -zv localhost 8081
nc: connect to localhost port 8081 (tcp) failed: Connection refused
nc: connect to localhost port 8081 (tcp) failed: Connection refused
$ nc -zv localhost 8080
Connection to localhost 8080 port [tcp/http-alt] succeeded! 

相关内容