#Что означает ошибка
Сайт отказал в подключении. ERR_CONNECTION_REFUSED
ERR_CONNECTION_REFUSED означает, что соединение с выбранным узлом и портом было отвергнуто до получения HTTP-ответа. Это может происходить, когда служба не слушает порт, запрос приходит не туда или промежуточный сетевой фильтр активно отклоняет его. У посетителя чужого сайта и у администратора своего localhost последовательность действий разная.
Если ошибка возникает только на localhost или адресе внутреннего сервиса, проверьте, запущена ли ваша программа и указан ли в браузере правильный протокол и порт. Для чужого публичного сайта не изменяйте настройки брандмауэра на своём компьютере без доказанной причины.
Ниже отдельно описаны проверки для обычного посетителя, владельца сервиса и администратора сети.
#Причины и решения
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Сервер не запущенЛокальная разработка. | Ошибка возникает только на localhost; ожидаемый порт отсутствует в списке слушающих процессов. | Проверьте по документации проекта запуск приложения и порт. |
| Порт закрытФайрвол. | Локальный сервис отвечает, но удалённый клиент получает отказ. | Администратор проверяет интерфейс прослушивания и ограничивающие правила, не открывая порт всем. |
| Блокировка антивирусомЗащита. | Защитная программа фиксирует отказ для нужного адреса и порта. | Проверьте журнал защиты; не отключайте антивирус ради теста. |
| Прокси/VPNНастройки. | Сайт открывается по другой разрешённой сети или без ошибочного прокси. | Проверьте настройки прокси/VPN и обратитесь к администратору сети. |
#Пошаговое решение
- Проверьте адрес и портНажмите в адресной строке и проверьте адрес символ за символом: правильно ли написан домен, указан ли нужный протокол
https://и не добавлен ли лишний порт вроде:8080. Попробуйте открыть главную страницу домена без длинного пути. Ошибка на одном адресе не означает поломку браузера. - Проверьте на другом устройствеОткройте тот же адрес на телефоне, предварительно отключив Wi-Fi и включив мобильный интернет. Если сайт не открывается и там, возможно, сервер временно недоступен. Если на телефоне работает, проверьте прокси, VPN и сетевую защиту компьютера; не сбрасывайте настройки сразу.
- Убедитесь, что сервис запущенДля владельца локального приложения или сервера. Узнайте из настроек программы ожидаемый порт. На Windows нажмите
Win+R→cmd→ Enter; для порта 3000 выполнитеnetstat -ano | findstr :3000и посмотрите наличиеLISTENING. В Linux откройте терминал и выполнитеss -lntp, найдите нужный порт и процесс. Если слушателя нет, запустите свою службу штатно и изучите её журнал; не считайте отсутствие записи доказательством блокировки браузером. - Откройте порт в брандмауэреДля администратора сети. Только если сервис уже запущен, слушает нужный интерфейс и должен быть доступен с другого устройства, проверьте журнал брандмауэра и правила для этого адреса/порта. Запишите действующие правила, затем измените только необходимое правило в штатном интерфейсе системы или панели облака. Не открывайте порты в интернет для локальных панелей, баз данных и средств разработки; при внутреннем сервисе безопаснее ограничить доступ сетью или VPN.
- Проверьте из консолиДля диагностики своего сервера откройте терминал (Windows PowerShell или терминал Linux/macOS), затем выполните
curl -v http://localhost:3000/только если ваша программа использует HTTP и порт 3000. Для HTTPS укажитеhttps://и действительный порт. СообщениеConnection refusedозначает отказ TCP-соединения; код HTTP 404/500, напротив, подтверждает, что сервер ответил. Если доступ локально есть, а извне нет, проверьте адрес привязки службы, маршрутизацию и ограничивающие правила без автоматического открытия портов.
#Чужой сайт
Если отказ возникает только в Chrome, откройте тот же URL в другом браузере и сети. Проверьте настройку системного прокси и наличие рабочего VPN, если он необходим; не выключайте корпоративную защиту. Очистка DNS-кеша не исправит отказ службы слушать порт, поэтому применять её без признаков DNS-проблемы не нужно. Передайте владельцу сайта адрес, время и текст ошибки.
#Свой сервер или localhost
Для своего локального сервиса запустите приложение по инструкции проекта и проверьте фактический порт в его настройках. На Windows netstat -ano | findstr :3000 покажет, есть ли слушатель для порта 3000; на Linux используйте ss -lntp. Не вводите npm start или php -S на чужом сервере без знания проекта. Убедитесь, что адрес localhost используется только с самого компьютера, где запущена служба.
#Брандмауэр
Настройка брандмауэра требуется лишь при подтверждённом внешнем доступе к своему сервису. Сначала проверьте локальный ответ службы, нужный интерфейс привязки и журнал отказов. Изменения согласуйте с администратором, ограничивайте источники доступа и сохраните правила для отката. Не выполняйте безусловные команды открытия порта 3000 в Windows, Linux или облаке: это может создать общедоступную дыру.
#Проверка из консоли
При проверке доступности удалённого порта в Windows PowerShell выполните Test-NetConnection example.com -Port 443, заменив домен и порт фактическими значениями. Если TcpTestSucceeded равно False, проверьте правильность адреса и доступ к серверу. В терминале Linux/macOS используйте curl -v https://example.com/: сообщение Connection refused отличается от ошибки сертификата и от HTTP-кода.
curl -v http://localhost:3000/