ERR_CONNECTION_REFUSED: что значит и как исправить
Ключевой вывод
ERR_CONNECTION_REFUSED (ошибка Chrome -102) означает, что браузер нашёл IP-адрес сайта, но машина по этому адресу или файрвол перед ней отказали в соединении — обычно потому, что на этом порту никто не принимал подключения. Отказ приходит мгновенно, в отличие от тайм-аута. Сначала выясните, на чьей стороне проблема: если сайт не открывается и через мобильный интернет, и во внешней проверке, он лежит. Если открывается, проверьте VPN, защитное ПО, файл hosts и роутер. На localhost это значит, что ваш dev-сервер не запущен на этом порту.
Проверьте сейчас

Начать чтение
- Что такое ERR_
CONNECTION_ REFUSED? - Как ошибка выглядит в других браузерах и приложениях
- Частые причины ERR_
CONNECTION_ REFUSED - Один сайт, все сайты или все браузеры?
- Решение 1: проверьте, не лежит ли сайт для всех
- Решение 2: перезагрузите роутер и устройство
- Решение 3: очистите сохранённые в Chrome редиректы и правила HTTPS
- Решение 4: проверьте настройки прокси
- Решение 5: очистите DNS-кеш
- Решение 6: переключитесь на публичный DNS-сервер
- Решение 7: временно отключите VPN, антивирус и файрвол
- Решение 8: проверьте расширения в режиме инкогнито
- Решение 9: проверьте файл hosts
- Решение 10: на телефоне Android или iPhone
- Localhost не позволяет установить соединение (для разработчиков)
- «Не позволяет установить соединение» внутри встроенной страницы
- Владельцам сайтов: ваш сайт отклоняет соединения
- Как убедиться, что проблема решена
- Часто задаваемые вопросы
Что такое ERR_CONNECTION_REFUSED?
ERR_CONNECTION_REFUSED означает, что браузер нашёл IP-адрес сайта, но машина по этому адресу отказала в соединении. Chrome показывает «Не удается получить доступ к сайту» с текстом «Сайт example.com не позволяет установить соединение.» и кодом ERR_CONNECTION_REFUSED — это ошибка -102 в списке Chromium (net_error_list.h).
Ваше устройство отправило запрос на TCP-соединение на IP-адрес и порт сервера (443 для HTTPS, 80 для HTTP) и сразу получило отказ — либо TCP-сброс, либо сообщение файрвола «port unreachable» («порт недоступен»): на этом порту ни одна программа не принимала подключения, или файрвол отклонил запрос. DNS сработал, не сработало соединение.
Иными словами, это ответ, а не тишина. Если не отвечает вообще никто, Chrome ждёт и показывает ERR_CONNECTION_TIMED_OUT. Если соединение открылось, а потом оборвалось, — это ERR_CONNECTION_RESET; если сервер закрыл его, не отправив страницу, — ERR_CONNECTION_CLOSED.
Сайт отказывает всем или только вам? Проверьте
Как ошибка выглядит в других браузерах и приложениях
Отклонённое соединение везде одно и то же, меняется только формулировка. Браузеры на базе Chromium (Chrome, Edge, Brave, Opera) показывают код ERR_CONNECTION_REFUSED, а приложения сообщают ошибку самой операционной системы:
| Где | Что вы видите |
|---|---|
| Chrome, Brave, Opera | Не удается получить доступ к сайту · Сайт example.com не позволяет установить соединение. · ERR_CONNECTION_REFUSED |
| Microsoft Edge | Hmmm… can't reach this page · example.com refused to connect. · ERR_CONNECTION_REFUSED (так в английской версии) |
| Firefox | Попытка соединения не удалась · Firefox не может подключиться к серверу на example.com. |
| Safari | Safari не может подключиться к серверу |
| Консоль инструментов разработчика, приложения на Android WebView | net::ERR_CONNECTION_REFUSED |
| Приложения Windows | Ошибка 10061 (WSAECONNREFUSED): «Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение» |
| Linux и macOS (ssh, nc, скрипты) | «Connection refused» (ECONNREFUSED: ошибка 111 в Linux, 61 в macOS) |
| curl | curl: (7) Failed to connect to example.com port 443 after 2 ms: Couldn't connect to server |
| Node.js | connect ECONNREFUSED 127.0.0.1:3000 |
Решения ниже подходят при любой формулировке: что-то по этому адресу и порту ответило «нет».
Частые причины ERR_CONNECTION_REFUSED
Причины — от стороны сайта к вашей:
- Сервер сайта не работает — веб-сервер (nginx, Apache, Node.js) упал, перезапускается или был остановлен. Машина в сети, но на портах 80 и 443 никто не отвечает.
- Файрвол, настроенный на отказ — файрвол на сервере, в вашей сети или на вашем устройстве отклоняет (а не молча отбрасывает) подключения к этому порту.
- Сайт блокирует вашу сеть — некоторые сайты отклоняют целые диапазоны адресов, например выходные серверы VPN или целую страну.
- Защитное ПО или VPN — веб-экран антивируса или VPN, пропускающий трафик через себя, отклоняет соединение. (Если Chrome блокирует файрвол на вашем же устройстве, появляется другая страница — «Доступ в Интернет закрыт», ERR_NETWORK_ACCESS_DENIED.)
- Не тот IP-адрес — устаревший DNS-кеш или запись в файле hosts отправляет вас на старый сервер или на ваш же компьютер (127.0.0.1), где никто не слушает.
- Запомненный редирект или правило HTTPS — Chrome закешировал редирект или правило HSTS сайта и продолжает отправлять вас на порт, который сайт больше не обслуживает.
- На localhost никто не слушает — для разработчиков: локальный сервер не запущен, упал или работает на другом порту или адресе, чем тот, что вы открыли.
Один сайт, все сайты или все браузеры?
Прежде чем что-то менять, посмотрите, где появляется ошибка, — это подскажет, где искать причину:
| Что не открывается | Наиболее вероятная причина | С чего начать |
|---|---|---|
| Один сайт в любой сети (и по Wi-Fi, и через мобильный интернет) | Сайт лежит или отказывает всем | Решение 1, затем ждать или сообщить владельцу сайта |
| Один сайт только в вашей сети Wi-Fi или в офисной сети | Файрвол этой сети или блокировка её адреса на стороне сайта | Мобильный интернет, решение 2, администратор сети |
| Один сайт только на вашем компьютере | Файл hosts, DNS-кеш или запомненный редирект | Решения 3, 5 и 9 |
| Все сайты во всех браузерах | Защитное ПО, VPN или роутер | Решения 2 и 7 |
| localhost или 127.0.0.1 | Ваш dev-сервер там не слушает | Раздел про localhost ниже |
«Во всех браузерах» — важная деталь: у Edge, Firefox и Safari нет общего с Chrome кеша и расширений, поэтому отказ во всех них указывает на уровень ниже браузера — на ваше устройство, сеть или сам сайт.
Решение 1: проверьте, не лежит ли сайт для всех
Прежде чем что-то менять на своём устройстве, выясните, не отказывает ли сайт всем. Если да, никакое исправление на вашей стороне не поможет.
Быстрее всего проверить по другому сетевому пути: откройте сайт на телефоне через мобильный интернет (Wi-Fi выключен). Затем проверьте сервер снаружи этими инструментами DNS Robot:
- Проверка доступности сайта — открывает сайт из 11 точек мира и из вашего собственного браузера. Не работает нигде — проблема у сайта; работает везде, кроме вас, — проблема на вашей стороне.
- Проверка портов — введите сайт и порт 443 (или
example.com:443). Если порт закрыт, сервер отклонил и наше подключение; если открыт, сервер принимает подключения, а отказ происходит только у вас. - Пинг тест — подключается к сайту на порт 443 из 11 городов и отправляет обычный ping из одного. Если подключение отклоняется из всех городов, машина работает, но на этом порту никто не слушает; отсутствие ответа на обычный ping ничего не доказывает — многие серверы его игнорируют.
Решение 2: перезагрузите роутер и устройство
Первый совет самой страницы ошибки Chrome, «Проверьте подключение к интернету.», звучит так: «Проверьте соединение кабелей, перезагрузите маршрутизаторы, модемы и другие сетевые устройства.» Перезагрузка сбрасывает накопившееся состояние роутера, включая его DNS-кеш.
Отключите роутер (и модем, если он отдельный) от питания, подождите 30 секунд, включите обратно и дайте ему 2–3 минуты на полное переподключение. Перезагрузите и компьютер или телефон, чтобы сбросить его сетевой стек, затем откройте сайт снова.
Решение 3: очистите сохранённые в Chrome редиректы и правила HTTPS
Chrome запоминает постоянные редиректы и правило HSTS каждого сайта («всегда использовать HTTPS»). Если сайт с тех пор переехал или перестал обслуживать HTTPS на порту 443, Chrome продолжает отправлять вас на адрес или порт, где никто не слушает.
- Откройте Chrome → меню с тремя точками → Удалить данные о работе в браузере
- Временной диапазон → Все время, отметьте Кешированные файлы и изображения (файлы cookie можно оставить)
- Нажмите «Удалить данные» (или Удалить с устройства, если вы не вошли в Chrome) и снова откройте сайт
- Всё ещё отказ? Откройте
chrome://net-internals/#hsts, введите домен в разделе «Delete domain security policies» и нажмите «Delete» (эта страница есть только на английском). Это работает только для правил, которые установил сам сайт, но не для доменов из встроенного в Chrome списка предварительной загрузки HSTS.
Изменение 2026 года: в Chrome 154 (октябрь 2026) параметр «Всегда использовать безопасные соединения» включён по умолчанию, поэтому перед первым посещением публичного сайта без HTTPS Chrome спрашивает разрешение, а не пробует открыть его молча (Google Security Blog).
Решение 4: проверьте настройки прокси
Страница ошибки Chrome упоминает прокси, так что проверьте его, но знайте, чего ожидать. Если Chrome не может достучаться до прокси-сервера, он показывает не ERR_CONNECTION_REFUSED, а страницу с заголовком «Нет подключения к интернету» и кодом ERR_PROXY_CONNECTION_FAILED («На прокси-сервере возникла проблема или адрес указан неверно.»). Если вы видите именно её, вам нужно это решение.
Windows: Параметры → Сеть и Интернет → Прокси-сервер. В разделе «Настройка прокси вручную» нажмите Изменить рядом с «Использовать прокси-сервер», выключите его и нажмите Сохранить. Если не узнаёте адрес сценария, выключите и «Использовать сценарий настройки». «Определять параметры автоматически» оставьте включённым, если точно не знаете, что ваша сеть этим не пользуется.
macOS: Системные настройки → Сеть → Wi-Fi → Подробнее → Прокси. Выключите все прокси, которые не настраивала ваша организация, и нажмите ОК.
Chrome использует системные настройки прокси, Firefox по умолчанию тоже («Использовать системные настройки прокси»), поэтому один забытый прокси ломает сразу все браузеры. На учебном или рабочем устройстве прокси задаёт администратор, и изменить его вы не сможете.
Решение 5: очистите DNS-кеш
Если сайт переехал на новый сервер, закешированный ответ DNS может всё ещё указывать на старый IP-адрес, где больше никто не слушает. Очистка заставляет устройство узнать текущий адрес.
# Windows (Command Prompt as Administrator)
ipconfig /flushdns
# macOS
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
# Linux (systemd-resolved)
sudo resolvectl flush-caches
# Also clear Chrome's internal DNS cache:
# chrome://net-internals/#dns → Clear host cacheПосле очистки сбросьте и собственный DNS-кеш Chrome на странице chrome://net-internals/#dns, а также пулы сокетов на chrome://net-internals/#sockets — Chrome хранит и то и другое отдельно от операционной системы. Полное пошаговое руководство — в нашей статье о том, как очистить DNS-кеш на любой ОС.
Чтобы увидеть адрес, который на самом деле использует ваш компьютер (с учётом файла hosts и кеша), выполните ping example.com или Resolve-DnsName example.com в PowerShell и сравните результат с Проверкой DNS. nslookup для этого не подходит: он обращается напрямую к DNS-серверу и пропускает и hosts, и кеш.
Решение 6: переключитесь на публичный DNS-сервер
Если DNS-сервер провайдера и после очистки кеша продолжает выдавать старый адрес, переключитесь на публичный резолвер — он даст свежий ответ.
| Провайдер | Основной DNS | Резервный DNS | Лучше всего для |
|---|---|---|---|
| Cloudflare | 1.1.1.1 | 1.0.0.1 | Скорость и приватность |
| Google Public DNS | 8.8.8.8 | 8.8.4.4 | Надёжность |
| Quad9 | 9.9.9.9 | 149.112.112.112 | Блокировка вредоносных сайтов |
| OpenDNS | 208.67.222.222 | 208.67.220.220 | Фильтрация контента |
Windows: Параметры → Сеть и Интернет → Wi-Fi → Управление известными сетями → ваша сеть (для кабеля: Ethernet → ваша сеть) → Изменить рядом с назначением DNS-сервера → Вручную → включите IPv4 → Предпочитаемый 1.1.1.1, Альтернативный 1.0.0.1 → Сохранить.
macOS: Системные настройки → Сеть → Wi-Fi → Подробнее → DNS → добавьте 1.1.1.1 и 1.0.0.1, удалите старые записи → ОК.
Не уверены, какой резолвер быстрее из вашего местоположения? Запустите Тест скорости DNS от DNS Robot — он за секунды измерит скорость Cloudflare, Google, Quad9 и других с вашего собственного подключения.
Решение 7: временно отключите VPN, антивирус и файрвол
VPN, веб-экраны антивирусов и файрволы стоят между браузером и интернетом, и каждый из них может отклонить соединение. Веб-экраны, проверяющие HTTPS, пропускают трафик через локальную службу; если она сломается, HTTPS-сайты могут перестать открываться сразу во всех браузерах. А некоторые сайты сразу отклоняют адреса VPN.
Проверяйте по одному: отключите VPN и обновите страницу. Затем на минуту приостановите веб-защиту антивируса и обновите страницу. В конце приостановите сторонний файрвол — часто он входит в антивирусный пакет. (Файрвол macOS фильтрует только входящие подключения, а брандмауэр Защитника Windows пропускает исходящий трафик, если кто-то не добавил правило. Если Chrome пишет «Доступ в Интернет закрыт», причина — файрвол на вашем устройстве.)
Если с одним из них выключенным сайт загрузился, включите защиту обратно и добавьте сайт в исключения или выберите другой сервер VPN, а не оставляйте защиту выключенной.
Решение 8: проверьте расширения в режиме инкогнито
Расширения редко вызывают именно этот код: расширение, блокирующее сайт, даёт ERR_BLOCKED_BY_CLIENT. Но окно в режиме инкогнито (Ctrl+Shift+N, на Mac — Cmd+Shift+N) — это тест на десять секунд, который исключает и расширения, и сохранённые данные: расширения там отключены, если вы сами их не разрешили.
Если в режиме инкогнито сайт открывается, зайдите на chrome://extensions, отключите все расширения и включайте их по одному, пока ошибка не вернётся. Если не открывается и в инкогнито, причина вне Chrome.
Решение 9: проверьте файл hosts
Файл hosts переопределяет DNS для указанных в нём имён. Если сайт сопоставлен там с 127.0.0.1 или IP старого сервера, браузер подключается туда и получает отказ. Обычные виновники — забытые записи со времён разработки и hosts-списки для блокировки рекламы; файл действует на все браузеры.
# Windows — open as Administrator:
notepad C:\Windows\System32\drivers\etc\hosts
# macOS / Linux:
sudo nano /etc/hosts
# Look for lines containing the domain, e.g.:
# 127.0.0.1 example.com ← forces the connection to your own PC
# 203.0.113.7 example.com ← forces an old server IP
# Delete the offending line, save, then flush DNS.Решение 10: на телефоне Android или iPhone
Телефоны отклоняют соединения по тем же причинам, только переключатели другие:
- Смените сеть: откройте сайт через мобильный интернет, затем через Wi-Fi. Если отказ только в одной из них, проблема в этой сети, а не в телефоне.
- Выключите VPN-приложения, в том числе блокировщики рекламы и файрволы, работающие как VPN (у них в строке состояния значок ключа или VPN).
- Уберите прокси в настройках Wi-Fi: на Android откройте настройки сети Wi-Fi → значок карандаша → Расширенные настройки → Прокси-сервер → Нет (названия зависят от производителя телефона). На iPhone: Настройки → Wi-Fi → ⓘ рядом с сетью → Настройка прокси → Выкл.
- Очистите данные Chrome: Chrome → Настройки → Конфиденциальность и безопасность → Удалить данные о работе в браузере → Кешированные файлы и изображения.
- Тестируете свой сервер? На телефоне
localhost— это сам телефон. Используйте локальный IP-адрес компьютера (см. следующий раздел).
Localhost не позволяет установить соединение (для разработчиков)
«Сайт localhost не позволяет установить соединение» (localhost refused to connect) или ERR_CONNECTION_REFUSED на 127.0.0.1 означает, что на вашей машине никто не принимает подключения по адресу и порту, которые вы открыли. Обычные причины:
- Dev-сервер не запущен — вы его не запустили, или он упал. Проверьте терминал, где должны работать
npm run dev,rails sилиpython manage.py runserver. - Не тот порт — сервер запустился на другом порту (скажем, на 3001, потому что 3000 был занят). Скопируйте адрес из строки, которую он выводит при запуске.
- В адресе нет порта —
http://localhostведёт на порт 80, а dev-серверы используют свои (3000, 5173, 8000, 8080). - 127.0.0.1 и [::1] — браузеры пробуют для
localhostоба адреса, но сервер может слушать только один из них. Если открыть другой адрес напрямую (http://127.0.0.1:3000илиhttp://[::1]:3000) или подключиться инструментом, который пробует только один, будет отказ. - Внутри Docker — приложение должно слушать
0.0.0.0внутри контейнера, а порт должен быть опубликован (-p 3000:3000). До приложения, привязанного к 127.0.0.1 в контейнере, с вашей машины не достучаться (вместо отказа может появиться ERR_EMPTY_RESPONSE). - С телефона или эмулятора — там
localhost— это само устройство. Используйте IP компьютера в локальной сети и запустите dev-сервер на всех интерфейсах (Vite:--host) или в эмуляторе Android используйте10.0.2.2— его псевдоним для localhost вашего компьютера.
# What is listening on port 3000?
# macOS / Linux:
lsof -nP -iTCP:3000 -sTCP:LISTEN
# Windows (PowerShell):
netstat -ano | findstr :3000 | findstr LISTENING
# No output = nothing is listening = connection refused.
# 127.0.0.1:3000 in the output = IPv4 only; [::1]:3000 = IPv6 only.Если нужно проверить, доступен ли порт вашего публичного сервера из интернета (а не только с самой машины), используйте Проверку портов от DNS Robot — она проверяет соединение снаружи вашей сети, то есть именно так, как его видят ваши посетители.
«Не позволяет установить соединение» внутри встроенной страницы
Если «Сайт example.com не позволяет установить соединение.» появляется в рамке на другой странице (встроенная форма, отчёт, карта или окно входа), обычно это не сетевая проблема. Chrome показывает ту же фразу, когда встроенный сайт запрещает показывать себя внутри страниц других сайтов заголовком X-Frame-Options или Content-Security-Policy: frame-ancestors. Внутри Chrome это ERR_BLOCKED_BY_RESPONSE, ошибка -27 (net_error_list.h).
Посетителю достаточно открыть встроенную ссылку в отдельной вкладке — там она загрузится. Владельцу сайта нужно разрешить страницу, которая его встраивает: Content-Security-Policy: frame-ancestors 'self' https://parent.example. X-Frame-Options умеет только DENY или SAMEORIGIN, а современные браузеры, получив оба заголовка, следуют frame-ancestors. Что отправляет ваш сайт, покажет Проверка HTTP-заголовков, а точные заголовки — в нашем руководстве по X-Frame-Options.
Владельцам сайтов: ваш сайт отклоняет соединения
Если посетители сообщают об ERR_CONNECTION_REFUSED на вашем сайте, их пакеты доходят до машины с вашим IP, но там никто не принимает соединение. Пройдитесь по чек-листу:
- Работает ли веб-сервер? Подключитесь по SSH и проверьте
systemctl status nginx(или apache2, caddy). Сервер, который не запустился после перезапуска со сломанным конфигом или был убит из-за нехватки памяти, оставляет порт без слушателя. Перезапустите его:sudo systemctl restart nginx. - Слушает ли он нужные порты и адреса? Выполните
ss -tlnp | grep -E ':(80|443) '. Сервер, слушающий только 127.0.0.1, отказывает всем снаружи; если на 443 никого нет, значит, нет server-блока, слушающего этот порт (HTTPS так и не настроили или файл сайта не подключён).nginx -Tвыводит конфигурацию, которая реально загружена. - Не отклоняет ли файрвол? Правило с отказом (iptables REJECT,
ufw reject) отправляет отказы. Политика ufw по умолчанию (deny) и облачные файрволы вроде security groups в AWS вместо этого молча отбрасывают пакеты, и посетители видят ERR_CONNECTION_TIMED_OUT. - Не забанил ли кого-то fail2ban? Бан по умолчанию отклоняет забаненный адрес, поэтому этот посетитель (или вы сами после нескольких неудачных входов по SSH) получает ERR_CONNECTION_REFUSED, а остальные заходят без проблем. Проверьте
sudo fail2ban-client status. - Не сменился ли IP сервера? Сравните A-запись с реальным IP сервера через Проверку DNS. После миграции старая A-запись отправляет посетителей на прежнюю машину.
- Сайт за Cloudflare? Для записей в режиме проксирования (оранжевое облако) посетители подключаются к Cloudflare, а не к вам, так что этот код они не увидят. Если ваш origin-сервер отклоняет подключения Cloudflare, Cloudflare показывает свою ошибку Error 521: Web server is down.
- Проверьте снаружи: Проверка портов для портов 80 и 443 и Проверка HTTP-заголовков для настоящего запроса из публичного интернета.
Как убедиться, что проблема решена
После каждого исправления проверяйте соединение на сетевом уровне, а не просто обновляйте страницу — так вы узнаете, действительно ли порт открылся.
# Test the TCP connection directly (Mac/Linux):
nc -zv -w 5 example.com 443
# "succeeded" = port open, "refused" = still rejected
# Windows (PowerShell):
Test-NetConnection example.com -Port 443
# TcpTestSucceeded : True = fixed
# Then confirm the address your computer actually uses:
ping -c 1 example.com # Mac/Linux
Resolve-DnsName example.com # Windows PowerShellИли обойдитесь без терминала: проверьте домен и порт через Проверку портов DNS Robot и получите ответ «открыт/закрыт» из-за пределов вашей сети. Если снаружи порт открыт, а браузер всё равно показывает ERR_CONNECTION_REFUSED, блокировка на вашем устройстве или в вашей сети — вернитесь к решениям про VPN, защитное ПО и файл hosts.
Порт открыт — или сервер действительно отклоняет соединения?
Бесплатная Проверка портов от DNS Robot подключается к любому домену и порту из-за пределов вашей сети и показывает, открыт порт, закрыт (отказ) или фильтруется (нет ответа). Если и у нас он закрыт, сайт отказывает всем, а не только вам.
Источники
Часто задаваемые вопросы
Что означает ошибка ERR_CONNECTION_REFUSED?
ERR_CONNECTION_REFUSED — проблема у меня или у сайта?
Как исправить ERR_CONNECTION_REFUSED в Chrome?
Почему ERR_CONNECTION_REFUSED появляется во всех браузерах?
Как исправить ERR_CONNECTION_REFUSED на телефоне (Android или iPhone)?
Почему localhost не позволяет установить соединение?
Чем ERR_CONNECTION_REFUSED отличается от ERR_CONNECTION_TIMED_OUT?
Может ли файрвол вызывать ERR_CONNECTION_REFUSED?
Почему Minecraft пишет «Connection refused»?
Означает ли ERR_CONNECTION_REFUSED, что меня заблокировали или забанили?
Похожие статьи
Связанные инструменты
Проверка портов
Тест доступности порта и определение работающих сервисов
Проверка доступности сайта
Сайт не работает у всех или только у вас? Проверьте доступность сайта из 11 точек и с вашего подключения, со скриншотом в реальном времени
Пинг тест
Проверьте пинг, джиттер и потерю пакетов, пинг до 34 облачных регионов и пинг любого сайта или IP из 11 городов
Проверка HTTP-заголовков
Анализ HTTP заголовков ответа и оценка заголовков безопасности



