Я пытался отладить проблему на наших серверах, и меня смутил этот ответ от netcat. Может ли кто-нибудь объяснить, почему я получаю эти 2 противоречивых сообщения при проверке, работает ли порт? Не удается подключиться через TCP, а затем удается использовать другой метод (*)?
ubuntu@1-2-3-4:/var/log$ nc -vz localhost 7777
nc: connect to localhost port 7777 (tcp) failed: Connection refused
Connection to localhost 7777 port [tcp/*] succeeded!
IP4 / 6 результаты
nc -vz4 localhost 7777
Connection to localhost 7777 port [tcp/*] succeeded!
nc -vz6 localhost 7777
nc: connect to localhost port 7777 (tcp) failed: Connection refused
Это происходит потому, что ваш демон прослушивает только IPv4.
IPv6 является протоколом по умолчанию, поэтому, если у данного имени хоста есть адреса IPv4 и IPv6, сначала всегда проверяется адрес IPv6.
В твоем случае, localhost
имеет IPv4-адрес 127.0.0.1
и IPv6-адрес ::1
. Но ваш демон только слушает 127.0.0.1
.
Так когда nc
пытается подключиться к localhost
он сначала подключается к ::1
, ничего не находит, ничего не слушает и возвращает Connection refused
. Затем он пытается подключиться к 127.0.0.1
и находит вашего демона.