Краткий ответ: «Connection refused» означает, что ваши пакеты дошли до сервера, но на этом порту никто не слушает — либо файрвол активно их отклонил. Проверьте, что сервис запущен и слушает нужный порт через ss -tlnp, затем просмотрите правила файрвола. Это почти никогда не сбой сети: отказ — это реальный ответ от машины.
Обзор
В отличие от таймаута (пакеты исчезают), отказ мгновенен и явен. Это хорошая новость: сервер жив и доступен, значит виноват остановленный сервис, изменённый порт или reject-правило.
Что нужно иметь
- Доступ к серверу — по SSH на другом порту, если он работает, иначе через KVM Console.
- Сервис и порт, до которого вы пытаетесь достучаться (SSH 22, HTTP 80, HTTPS 443, MySQL 3306...).
Пошаговая инструкция
- Посмотрите, что реально слушает:
Ищите порт в колонке локальных адресов и процесс-владелец в конце строки.sudo ss -tlnp - Если сервиса нет — проверьте и запустите:
(Подставьте sshd, mariadb и т.д.) Сервис, умирающий сразу после старта, обычно пишет причину в лог — ошибка конфига, занятый порт или полный диск.sudo systemctl status nginx sudo systemctl start nginx sudo journalctl -u nginx -n 30 - Если сервис слушает, а вам всё равно отказывают, проверьте файрвол:
Правило reject порождает именно отказы; добавьте allow-правило для порта.sudo ufw status verbose - Убедитесь, что сервис привязан к публичному 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 и списке правил.
Похожие статьи
- Не удаётся подключиться по SSH
- Сайт выдаёт 502 Bad Gateway
- На сервере закончилось место на диске
- Как собрать логи для поддержки
Нужна помощь? Связаться с поддержкой Cloud2Y →
