перейти к содержанию

Код состояния 520: что это значит и как его исправить

Введение

Коды состояния HTTP подобны короткому сообщению от веб-сервера, сообщающему вам, как все прошло, когда он попытался обработать ваш запрос. Вы, вероятно, знакомы с такими распространенными ошибками, как 404 Not Found или 500 Internal Server Error. Но сталкивались ли вы когда-нибудь с кодом статуса 520? Это своего рода нишевый код, специфичный для Cloudflare, который может сбить с толку, если вы не знаете, что он означает и как его устранить.

Не волнуйтесь: к концу этой статьи вы станете экспертом по 520. Мы подробно расскажем, что означает код состояния 520, наиболее распространенные причины этой ошибки и практические шаги, которые вы можете предпринять, чтобы исправить и избежать появления 520, независимо от того, являетесь ли вы владельцем веб-сайта или выполняете какой-либо анализ веб-страниц. Давайте погрузимся!

Что такое код статуса 520?

Прежде всего, важно отметить, что 520 не является официальным кодом состояния HTTP, который вы найдете в спецификациях. Это собственный код статуса, созданный Cloudflare, популярной CDN и службой безопасности, которую используют многие веб-сайты. Таким образом, вы встретите 520 только на сайтах, использующих Cloudflare.

В своих документах Cloudflare классифицирует код состояния 520 как «Неизвестная ошибка». Полезно, правда? По сути, это означает, что исходный веб-сервер Cloudflare ответил чем-то неожиданным или недействительным.

Вы можете думать о Cloudflare как о посреднике между посетителями и реальным веб-сервером, на котором размещен сайт. Обычно Cloudflare принимает запрос, передает его исходному серверу, получает ответ и передает его обратно посетителю. Но если ответ исходного сервера ненормальный или отсутствует необходимая информация, Cloudflare не знает, что с ним делать, и выдает общий код состояния 520.

Распространенные причины ошибок 520

Существует ряд причин, по которым вы можете увидеть ошибку 520. Некоторые распространенные причины включают в себя:

1. Исходный сервер не работает. – Если реальный веб-сервер, стоящий за Cloudflare, выйдет из строя, выйдет из строя или станет недоступен, вы, скорее всего, получите 520.

2. Неверный HTTP-ответ. – Веб-серверы должны возвращать HTTP-ответы в правильном формате, включая строку состояния, заголовки и тело. Если что-то неправильно сформировано или отсутствует, это может вызвать ошибку 520.

3. Ошибки веб-приложения. – Если в реальном коде приложения, работающем на исходном сервере, есть ошибки, исключения или крайние случаи, которые возвращают ненормальные ответы, они могут быть переданы пользователю как 520.

4. Отсутствуют необходимые заголовки. – Некоторые сайты требуют, чтобы запросы включали определенные заголовки HTTP, например, для аутентификации, ограничения скорости или безопасности. Если их не учитывать, может возникнуть ошибка 520.

5. Автоматические запросы заблокированы. – Если сайт обнаруживает необычные шаблоны автоматических запросов, его система безопасности может заблокировать эти запросы, что часто приводит к общему коду 520, чтобы скрыть реальную причину.

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

Как исправить и избежать ошибок 520

Теперь, когда вы понимаете, что означает ошибка 520 и некоторые ее распространенные причины, что вы можете с этим поделать? Ответ зависит от того, являетесь ли вы владельцем сайта, выдающего 520, или пытаетесь очистить сайт и избежать блокировки 520. Давайте рассмотрим несколько советов для каждого случая.

Владельцам веб-сайтов

Если вы видите ошибку 520 на своем веб-сайте, поддерживаемом Cloudflare, вот несколько шагов, которые вы можете предпринять для отладки и устранения проблемы:

Проверьте работоспособность сервера – Во-первых, убедитесь, что ваш исходный сервер действительно доступен и доступен. Используйте инструменты мониторинга, чтобы убедиться, что сервер отвечает на запросы и не перегружен.

Просмотр журналов ошибок – Проверьте журналы ошибок вашего сервера на предмет каких-либо исключений или ненормальных запросов, которые могут вызывать неверные ответы. Исправьте все основные ошибки.

Проверьте формат ответа – Убедитесь, что код вашего приложения всегда возвращает правильно отформатированные HTTP-ответы со статусом, заголовками и телом. Убедитесь, что крайние случаи учтены.

Настройка таймаутов запроса – Если некоторые запросы выполняются слишком долго и истекают по времени, вызывая 520 секунд, рассмотрите возможность увеличения настроек тайм-аута или оптимизации медленного кода.

Проверьте разные пути URL-адресов – Посмотрите, происходит ли ошибка 520 только на определенных страницах или шаблонах URL. Это может помочь изолировать код, требующий исправления.

Проверьте отсутствие заголовков – Если ваш код ожидает определенных заголовков, например для CORS или аутентификации, убедитесь, что эти требования задокументированы и обрабатываются должным образом.

Исправление ошибок 520 со стороны сервера часто представляет собой процесс устранения, проверки общих проблем и определения масштаба и причины. Общая ошибка 520 Cloudflare сама по себе не дает много подсказок.

Для веб-скребков

Если вы пытаетесь парсить веб-сайт, но вас блокируют коды статуса 520, вот несколько советов, как их обойти:

Проверьте отсутствие заголовков – Проверьте обычные шаблоны запросов сайта и убедитесь, что вы включили все ожидаемые заголовки, такие как User-Agent, Referer, Accept-Language и т. д.

Избегайте ненормальных шаблонов запросов – Распределяйте запросы и не заходите на сайт слишком быстро. Избегайте повторных попыток в случае сбоя. Рандомизируйте шаблоны доступа.

Используйте необнаружимые инструменты автоматизации – Безголовые браузеры, такие как puppeteer, легко обнаружить. Переключитесь на необнаружимый инструмент, например undetected-chromedriver.

Внедрить ротацию прокси – Меняйте IP-адреса запросов с помощью прокси-службы, чтобы избежать ограничений скорости и блокировок. Ротация IP-адресов центров обработки данных или жилых IP-адресов через такого провайдера, как ScrapingBee, может помочь избежать банов IP.

Проверьте URL-адреса запроса – Убедитесь, что запрашиваемые вами URL-адреса действительны и не изменились. Одна опечатка может вызвать 520 ошибок.

Уважайте robots.txt – Хотя это и не всегда необходимо, соблюдение правил файла robots.txt сайта часто помогает избежать жесткой блокировки, приводящей к появлению ошибок 520.

Ключом к тому, чтобы избежать 520 блоков при парсинге, является минимизация элементов, из-за которых ваши шаблоны запросов выглядят иначе, чем у обычных пользователей. Тщательное ограничение скорости, реалистичные заголовки и необнаружимые инструменты — это то, что вам нужно.

Заключение

Хотя код статуса 520 на первый взгляд может показаться расплывчатой ​​и загадочной ошибкой, благодаря знаниям из этой статьи вы теперь должны иметь четкое представление о том, что это значит и как его исправить.

Помните, что 520 означает, что исходный сервер дал неожиданный ответ, возможно, из-за сбоя, неправильного форматирования HTTP, отсутствия заголовков безопасности или автоматической блокировки запроса. Как владелец веб-сайта, сосредоточьтесь на работоспособности сервера, правильной обработке ответов и требованиях к четкому заголовку для разрешения ошибок 520. А в качестве веб-скрейпера используйте шаблоны запросов, используйте необнаружимые инструменты и прокси и соблюдайте правила сайта. После некоторого анализа и итераций эти надоедливые ошибки 520 останутся в прошлом.

Присоединяйтесь к беседе

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