невозможно подключиться к порту nginx через netcat

286
Simon Ernesto Cardenas Zarate

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

2

1 ответ на вопрос

2
Tomasz

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

  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!  
Я получаю отказано в соединении с портом 4000, а также с кодом выхода 1 (не успешно). Я думаю, что это связано больше с вещью nginx, которую я не понимаю Simon Ernesto Cardenas Zarate 5 лет назад 0
@SimonErnestoCardenasZarate Проверьте переадресацию порта Docker и брандмауэр. Tomasz 5 лет назад 0
@SimonErnestoCardenasZarate И статус nginx и журналы. Tomasz 5 лет назад 0