Origin Server Refused Connection — как исправить ошибку подключения к origin-серверу

Origin Server Refused Connection означает, что Cloudflare или другой прокси смог дойти до IP-адреса вашего сервера, но сам origin-сервер отказался принимать соединение. На практике это почти всегда проблема не браузера и не интернета пользователя, а самого сервера, firewall, защитного ПО или веб-сервиса, который не слушает нужный порт.

Чаще всего эта ошибка связана с Cloudflare Error 521. То есть сайт физически существует, но origin не принимает подключение на порт 80 или 443, либо режет запросы Cloudflare как подозрительные.

Быстрое решение

  • Проверьте, запущен ли веб-сервер: Apache, Nginx или LiteSpeed.
  • Убедитесь, что origin слушает порты 80 и/или 443.
  • Проверьте firewall, fail2ban, CSF, UFW и ModSecurity.
  • Убедитесь, что IP-диапазоны Cloudflare не заблокированы.
  • Проверьте error logs и access logs сервера.
  • Временно переключите запись в DNS only и протестируйте сайт напрямую.
  • Если сервер перегружен или падает, перезапустите сервис и проверьте ресурсы.

Что означает Origin Server Refused Connection

Эта ошибка означает, что соединение до origin-сервера не было принято. Проще говоря, кто-то пытался подключиться к сайту, но сервер ответил отказом.

Это отличается от таймаута. При таймауте сервер слишком долго молчит. При Refused Connection сервер или система защиты сразу отклоняют попытку подключения.

Когда обычно появляется такая ошибка

Чаще всего она появляется в таких случаях:

  • после подключения сайта к Cloudflare;
  • после смены firewall-правил;
  • после миграции сайта на новый сервер;
  • после обновления панели или веб-сервера;
  • после включения агрессивной защиты на хостинге;
  • при падении Apache, Nginx или PHP-FPM;
  • если Cloudflare IP ошибочно попали в бан.

Основные причины Origin Server Refused Connection

Самые частые причины такие:

  • веб-сервер выключен или завис;
  • Apache, Nginx или другой сервис не слушает нужный порт;
  • firewall блокирует входящие соединения;
  • Cloudflare IP-адреса заблокированы или ограничены;
  • на сервере сработал rate limiting;
  • ModSecurity или fail2ban режут запросы;
  • сервер перегружен и перестал принимать новые подключения;
  • ошибка в конфигурации SSL или HTTPS-сервиса;
  • балансировщик или reverse proxy отказывает в соединении.

Почему это часто связано с Cloudflare Error 521

Если сайт работает через Cloudflare, сообщение про refused connection почти всегда означает сценарий Error 521. Cloudflare в этом случае не может установить TCP-соединение с origin-сервером, потому что origin его отклоняет.

На практике это обычно означает одно из двух: либо origin web server offline, либо серверная защита блокирует Cloudflare как нежелательный источник трафика.

Как исправить Origin Server Refused Connection: пошаговая инструкция

1. Проверьте, запущен ли веб-сервер

Первое, что нужно сделать — убедиться, что origin вообще живой. Проверьте состояние веб-сервера:

systemctl status nginx
systemctl status apache2
systemctl status httpd

Если сервис остановлен, запустите его снова:

systemctl restart nginx
systemctl restart apache2
systemctl restart httpd

2. Проверьте, слушает ли сервер нужные порты

Даже если процесс запущен, он может не слушать порт 80 или 443. Проверьте это командой:

ss -tulpn | grep :80
ss -tulpn | grep :443

Если ничего нет, значит веб-сервис либо не запущен правильно, либо конфигурация сломана.

3. Проверьте firewall

Одна из самых частых причин — блокировка на уровне firewall. Проверьте:

  • iptables;
  • UFW;
  • CSF;
  • firewalld;
  • security groups в облаке;
  • встроенную защиту хостинга.

Если порт открыт только для части IP или Cloudflare не в allowlist, origin будет отказывать в соединении.

4. Убедитесь, что IP Cloudflare не заблокированы

Если вы используете Cloudflare, это критически важно. Сервер может считать IP Cloudflare подозрительными и отправлять их в бан через firewall, fail2ban или другие защитные инструменты.

Проверьте:

  • не находятся ли Cloudflare IP в denylist;
  • нет ли rate limiting по этим адресам;
  • не режет ли их WAF или DDoS-защита хостинга.

5. Проверьте error logs и access logs

Без логов эта ошибка часто выглядит как угадайка. Ищите в логах:

  • crash веб-сервера;
  • bind errors;
  • connection refused;
  • worker exits;
  • перегрузку памяти;
  • блокировки ModSecurity или fail2ban.

Особенно важно смотреть записи в тот же момент, когда возникает ошибка.

6. Проверьте ModSecurity, fail2ban и антибот-защиту

Эти инструменты часто блокируют не только злоумышленников, но и нормальные запросы через Cloudflare. Особенно это бывает, если правила слишком жёсткие или настроены без учёта reverse proxy.

Если ошибка появилась после обновления защиты, временно ослабьте или отключите один слой защиты и проверьте снова.

7. Проверьте нагрузку на сервер

Иногда сервер живой, но настолько перегружен, что просто перестаёт принимать новые подключения. Проверьте:

  • CPU;
  • RAM;
  • диск и I/O;
  • количество процессов;
  • лимиты подключений.
top
htop
free -m
df -h

8. Проверьте HTTPS и SSL-конфигурацию

Если ошибка появляется только на HTTPS, проверьте SSL-сертификат, 443 порт и настройки virtual host. Иногда сервер принимает HTTP, но отказывает на HTTPS из-за неправильной SSL-конфигурации.

Особенно внимательно проверьте это после переезда сайта, смены сертификата или перехода на Full / Full (strict) в Cloudflare.

9. Проверьте reverse proxy, балансировщик и backend

Если у вас не один сервер, а схема с Nginx → Apache, load balancer → app server или контейнеры, проблема может быть не на фронте, а между слоями. Внешне это тоже может выглядеть как refused connection.

Убедитесь, что backend жив, reachable и не отвергает запросы от фронтового слоя.

10. Протестируйте сайт без Cloudflare

Временно переведите запись в режим DNS only и проверьте origin напрямую. Это помогает быстро понять, проблема чисто в origin или в сочетании origin + Cloudflare.

Если без Cloudflare сайт тоже не открывается, причина почти точно на сервере или в сети. Если напрямую всё работает, а через Cloudflare нет, тогда смотрите firewall, allowlist и security rules.

Особые сценарии

Origin Server Refused Connection только по HTTPS

Скорее всего, сломаны SSL-настройки, 443 порт не слушается или HTTPS virtual host настроен неверно.

Ошибка появилась после подключения Cloudflare

Очень вероятно, что сервер или firewall блокирует Cloudflare IP.

Ошибка плавающая

Часто это указывает на перегрузку сервера, агрессивный rate limit или периодическое падение веб-сервиса.

Сайт работает напрямую, но не через Cloudflare

Почти всегда причина в блокировке Cloudflare IP, firewall или security software на origin.

Advanced troubleshooting

  1. Проверьте origin напрямую по IP и по домену.
  2. Сравните HTTP и HTTPS отдельно.
  3. Проверьте, не ограничено ли число соединений на уровне сервера.
  4. Посмотрите, не срабатывает ли fail2ban по частым обращениям.
  5. Проверьте system logs на crash и OOM killer.
  6. Если используете Docker, проверьте exposed ports и bridge network.
  7. Если используете reverse proxy, проверьте upstream health.

Как избежать Origin Server Refused Connection в будущем

  • держите IP Cloudflare в allowlist;
  • не включайте слишком жёсткий rate limiting без тестов;
  • мониторьте состояние Apache, Nginx и PHP-FPM;
  • следите за ресурсами сервера и пиками нагрузки;
  • после миграции всегда тестируйте 80 и 443 порты;
  • проверяйте firewall после обновлений панели и защиты.

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

  • если веб-сервер регулярно падает без понятной причины;
  • если вы не можете найти правило, которое режет Cloudflare;
  • если проблема началась после действий хостинга;
  • если у вас нет доступа к firewall и системным логам;
  • если используется сложная облачная или контейнерная схема.

FAQ

Origin Server Refused Connection — это проблема Cloudflare или сервера?

Обычно это проблема origin-сервера, firewall или защитного ПО на стороне хостинга.

Это то же самое, что Error 521?

Да, в большинстве случаев это тот же сценарий: origin отказал Cloudflare в подключении.

Может ли firewall вызывать такую ошибку?

Да. Это одна из самых частых причин.

Почему сайт работает напрямую, но не через Cloudflare?

Обычно потому, что origin блокирует IP-адреса Cloudflare.

Может ли перегрузка сервера вызывать refused connection?

Да. Если сервер перегружен или веб-сервис завис, он может перестать принимать новые подключения.

Вывод

Origin Server Refused Connection означает, что origin-сервер отклонил попытку подключения. В большинстве случаев это связано с выключенным веб-сервером, закрытым портом, firewall, ModSecurity, fail2ban или блокировкой Cloudflare IP.

Самый правильный порядок проверки такой: сначала убедиться, что веб-сервер запущен и слушает 80/443, затем проверить firewall и allowlist Cloudflare, после этого посмотреть логи и нагрузку. Обычно причина находится именно в одном из этих шагов.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *