2

У меня есть этот простой файл конфигурации 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!

Я запускаю nginx на докере с открытыми портами 80 и 4000.

1 ответ1

2

Здесь есть две вещи.

  1. Возможно, вы используете два разных nc . Один немой и один многословный. В этом случае для отключения звука либо используйте ключ -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! 

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .