ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как исправить ошибку 520: Подробный обзор

Как исправить ошибку 520: Подробный обзор

В отличие от печально известной ошибки 404, которая подразумевает, что запрошенный ресурс (веб-страница) не может быть найден на своем сервере (webserver), ошибка 520 указывает на то, что могла возникнуть проблема с самим сервером или с конфигурацией на стороне сервера или программным приложением, которое предотвращает возврат веб-страниц в браузеры посетителей.

Как владелец веб-сайта, особенно если вы размещаете веб-сайт на WordPress, вы должны быть обеспокоены ошибкой 520. Это потому, что это может указывать на то, что посетители не могут получить доступ к вашему веб-сайту из-за проблем на “вашей стороне”.

Это может привести к разочарованию посетителей и потенциальной потере бизнеса.

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

 

Как отображаются веб-сайты

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

Или, если вы знакомы с такими понятиями, как DNS, прокси-серверы, CDN, SSL-квитирование и тому подобное.

Когда посетитель вводит URL веб-сайта в веб-браузере и нажимает Enter, браузер, прежде всего, отправляет запрос DNS на сервер системы доменных имен (DNS). Обычно это предоставляется интернет-провайдером (ISP).

DNS-сервер отвечает за преобразование доменного имени веб-сайта (того, которое вы ввели прописью) в соответствующий IP-адрес сервера, на котором размещен веб-сайт.

Затем браузер отправляет запрос на адрес сервера веб-сайта (который он получил от DNS-сервера). Запрос передается на брандмауэр сервера веб-сайта (web server).

Именно здесь разворачивается путешествие запроса “через Интернет”, чтобы в конечном итоге отобразить веб-сайт в браузере пользователя.

Если веб-сайт защищен (или обслуживается) сетью доставки контента (CDN), такой как Cloudflare, что обычно и происходит, запрос сначала отправляется на серверы CDN. Они действуют как прямые прокси-серверы.

Сервер (также называемый пограничным сервером) проверяет свой кэш, чтобы увидеть, есть ли в нем запрошенное содержимое. Если есть, он отправляет содержимое обратно в браузер пользователя. Если это не так, он действует как обратный прокси-сервер и передает запрос на веб-сервер, на котором размещен веб-сайт и его содержимое.

Для этого обратному прокси-серверу необходимо знать IP-адрес веб-сервера. Здесь снова появляется DNS.

 

Краткое руководство по брандмауэрам и CDN

CDN – это географически распределенная сеть серверов (пограничных серверов), которые работают вместе для обеспечения быстрой доставки интернет-контента. Они предназначены для предоставления контента конечным пользователям с высокой доступностью и производительностью.

Cloudflare – это широко используемое название сети CDN, предоставляющей ряд услуг, включая доставку контента, защиту от DDoS-атак и веб-безопасность.

С точки зрения веб-сайта и сервера, на котором он размещен, брандмауэр создает барьер между надежной внутренней сетью и ненадежными внешними сетями, такими как Интернет.

На основе политик безопасности он отслеживает и фильтрует входящий и исходящий трафик.

Возвращаясь к тому, как передается содержимое веб-сайта, запрос от CDN проходит через брандмауэр веб-сервера и попадает на веб-сервер, где он обрабатывается и на него дается ответ (с запрошенным содержимым) обратно в браузер пользователя.

Она, в свою очередь, отображается для просмотра пользователем.

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

 

Как возникает ошибка 520

Отображая ошибку 520, сервер, по сути, сообщает, что не может обработать запрос из браузера пользователя. Следовательно, веб-сайт в настоящее время недоступен.

Вот несколько способов, которыми это может произойти:

 

Сбой приложений PHP

Иногда код веб-сайта, написанный на PHP, может аварийно завершать работу. Когда это происходит, это может вызвать ошибку 520, поскольку сервер не может обработать запрос от веб-браузера.

 

Неправильно настроенные записи DNS

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

 

Поврежден или неправильно настроен файл .htaccess

Файл .htaccess – это файл конфигурации, связанный с кодом вашего веб-сайта, который сообщает веб-серверу, как обрабатывать определенные запросы. Если этот файл поврежден или имеет неправильные настройки, это может вызвать ошибку 520, поскольку сервер не знает, как правильно обработать запрос.

 

Большие заголовки запросов и чрезмерное использование файлов cookie

Когда веб-браузер запрашивает сервер, он отправляет информацию, называемую “заголовки”, которые включают в себя такие вещи, как файлы cookie (которые запоминают ваши предпочтения на веб-сайте). Слишком много заголовков или файлов cookie может привести к перегрузке сервера и вызвать ошибку 520.

 

Отсутствующие заголовки запроса

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

 

Пустой ответ от сервера

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

 

Брандмауэр, блокирующий соединение

Ошибка 520 может возникнуть, если установлен брандмауэр или другие меры безопасности, которые блокируют соединение между обратным прокси-сервером и исходным сервером.

 

Сбой установления связи SSL/TLS

Когда пользователь подключается к веб-сайту по протоколу HTTPS, его браузер и веб-сервер обмениваются рукопожатием SSL/TLS для установления безопасного соединения. Это включает в себя серию шагов по согласованию параметров шифрования и обмену ключами для шифрования и дешифрования данных.

Любая проблема с конфигурацией сертификата SSL/TLS на исходном сервере может вызвать сбой установления связи с обратным прокси-сервером и привести к ошибке 520.

Например, это может произойти, если срок действия сертификата истек, он неправильно настроен или недействителен.

 

Перегруженный сервер

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

 

Как устранить неполадки и исправить ошибку 520

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

 

Подождите

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

Например, сервер или сеть могут испытывать большой объем трафика или временную перегрузку, из-за которой они не могут обрабатывать запросы.

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

 

Временно приостановите/отключите Cloudflare

 

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

 

Проверьте и обновите записи DNS

Войдите в свою учетную запись поставщика услуг DNS, доступ к которой также может быть через вашего хостинг-провайдера, Cloudflare или аналогичные сервисы. Проверьте, правильно ли настроены записи, в частности записи CNAME (каноническое имя).

Запись CNAME сообщает преобразователю DNS, что он должен найти IP-адрес домена, указанный в записи CNAME, и использовать этот IP-адрес в качестве места назначения для запроса.

В зависимости от поставщика DNS, обновление записей может занять от нескольких минут до нескольких часов, чтобы изменения вступили в силу глобально.

 

Перезапустите PHP

Войдите в свою учетную запись веб-сервера или хостинга и найдите файл конфигурации PHP для вашего веб-сайта. Обычно он называется php.ini или находится в каталоге с именем conf.d или php.d.

Отредактируйте/просмотрите файл и убедитесь, что настройки (такие как ограничения памяти, времени выполнения и размера загружаемого файла) настроены правильно.

Введите команду вашего сервера для перезапуска PHP. Иногда перезапустить PHP можно, перезапустив сам веб-сервер. Команды различаются в зависимости от типа веб-сервера и программного обеспечения, которое он запускает.

 

Проверьте журналы ошибок веб-сервера

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

Большинство журналов ошибок имеют схожую структуру и содержат важные сведения, такие как дата и время инцидента, IP-адрес клиента (если применимо), сообщение об ошибке и путь к затронутому ресурсу или строке кода, ответственной за проблему.

Тщательно изучите их и попытайтесь определить основную причину.

 

Очистите кэш веб-сайта

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

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

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

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

 

Проверьте ответ HTTP об ошибке с помощью команды cURL

Запуск команды cURL в вашем командном терминале, клавиша Windows + R” и ввод “cmd” (Windows) | Приложения> Утилиты> Терминал (macOS) имитирует запрос к серверу вашего веб-сайта и получает подробный ответ.

Формат команды следующий:

curl -I http://example.com

 

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

Вы также можете получить заголовки HTTP-ответов сервера и просмотреть коды состояния и сообщения. Предоставьте часть проверки экспертам (команде поддержки), если считаете, что ее может быть слишком много для переварки.

 

Отключить .htaccess

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

Вы также можете убедиться, что IP-адреса Cloudflare не заблокированы в .htaccess или вашем брандмауэре.

.htaccess (гипертекстовый доступ) – это файл конфигурации для сайтов, размещенных на Apache. Для тех, кто не знаком, Apache – популярное программное обеспечение веб-сервера с открытым исходным кодом.

При возникновении конфликта между правилами в файле .htaccess и настройками сервера или если файл поврежден, браузер может вернуть ошибку 520.

 

Проверьте заголовки и файлы cookie

Большие заголовки и файлы cookie могут превышать максимально допустимый размер веб-серверов или CDN (например, Cloudflare), что может вызвать ошибку 520.

Например, на момент написания этой статьи максимальный пороговый размер заголовков запросов Cloudflare составлял 32 КБ, по 16 КБ на отдельный заголовок.

Вот шаги по проверке заголовков и файлов cookie.

  1. Откройте веб-страницу, на которой возникает ошибка 520.
  2. Щелкните правой кнопкой мыши в любом месте страницы и выберите “Проверить” из контекстного меню. Откроется панель инструментов разработчика.
  3. На панели инструментов разработчика выберите вкладку “Сеть”.
  4. Убедитесь, что установлен флажок “Сохранять журнал”.
  5. Нажмите на кнопку “Очистить” (значок знака остановки), чтобы удалить все предыдущие сетевые действия.
  6. Перезагрузите страницу, чтобы начать фиксировать сетевую активность.
  7. Щелкните правой кнопкой мыши в любом месте области сетевой активности и выберите “Сохранить все как HAR с содержимым”.
  8. Выберите местоположение на вашем компьютере для сохранения файла HAR и нажмите “Сохранить”.

 

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

 

Конкретные меры WordPress по устранению ошибки 520

В дополнение к вышеупомянутым шагам, вот еще пара, которые более специфичны для сайтов WordPress.

 

И последнее, но не менее важное – обратитесь за профессиональной поддержкой

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

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

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

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

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

Exit mobile version