Краткий ответ: «Connection refused» означает, что ваши пакеты дошли до сервера, но на этом порту никто не слушает — либо файрвол активно их отклонил. Проверьте, что сервис запущен и слушает нужный порт через ss -tlnp, затем просмотрите правила файрвола. Это почти никогда не сбой сети: отказ — это реальный ответ от машины.

Обзор

В отличие от таймаута (пакеты исчезают), отказ мгновенен и явен. Это хорошая новость: сервер жив и доступен, значит виноват остановленный сервис, изменённый порт или reject-правило.

Что нужно иметь

  • Доступ к серверу — по SSH на другом порту, если он работает, иначе через KVM Console.
  • Сервис и порт, до которого вы пытаетесь достучаться (SSH 22, HTTP 80, HTTPS 443, MySQL 3306...).

Пошаговая инструкция

  1. Посмотрите, что реально слушает:
    sudo ss -tlnp
    Ищите порт в колонке локальных адресов и процесс-владелец в конце строки.
  2. Если сервиса нет — проверьте и запустите:
    sudo systemctl status nginx
    sudo systemctl start nginx
    sudo journalctl -u nginx -n 30
    (Подставьте sshd, mariadb и т.д.) Сервис, умирающий сразу после старта, обычно пишет причину в лог — ошибка конфига, занятый порт или полный диск.
  3. Если сервис слушает, а вам всё равно отказывают, проверьте файрвол:
    sudo ufw status verbose
    Правило reject порождает именно отказы; добавьте allow-правило для порта.
  4. Убедитесь, что сервис привязан к публичному IP, а не только к localhost — 127.0.0.1:3306 в выводе ss означает, что удалённые соединения невозможны в принципе (для баз данных это часто намеренно).

Типичные проблемы

  • Опечатка в конфиге: nginx/sshd не стартуют после правки — nginx -t или sshd -t покажут точную строку.
  • Порт уже занят: два сервиса дерутся за один порт; journal называет конфликт.
  • Сервис упал раньше: полный диск и OOM-киллы тихо останавливают демоны — см. закончилось место на диске и быструю диагностику RAM.

Когда обращаться в поддержку

Если всё слушает корректно, файрвол разрешает порт, а соединения извне по-прежнему отклоняются, хотя локально работают (curl http://127.0.0.1), — откройте тикет с выводом ss -tlnp и файрвола.

Частые вопросы

Что именно вызывает ответ Connection refused?

Либо ни один процесс не слушает целевой порт, либо файрвол шлёт активный reject. Проверьте слушателей через ss -tlnp и правила через ufw status verbose, чтобы увидеть, какой из вариантов ваш.

Сервис показан как слушающий — почему мне всё равно отказывают?

Он может быть привязан только к localhost (127.0.0.1), и удалённые соединения до него не доходят, либо порт перехватывает reject-правило файрвола. Оба случая видны в выводе ss и списке правил.

Похожие статьи

Нужна помощь? Связаться с поддержкой Cloud2Y →

Помог ли вам данный ответ? 0 Пользователи нашли это полезным (0 голосов)