Что такое страницы ошибок HTTP
Статья также доступна на украинском (перейти к просмотру). Одним из показателей широкого применения протокола HTTP есть множество страниц ошибок, которые часто могут видеть как специалисты, так и рядовые пользователи сети. Такие страницы могут указывать на проблемы в работе веб-ресурса или просто быть сообщениями о редиректе или успешности выполнения операции. Все зависит от кода ошибки. Для того чтобы быть готовыми к их появлению, нужно ориентироваться в этих кодах. Этому и посвящена статья.
HTTP Pardon Side Appearance Mechanism
- Starting line;
- Headers;
- Message Body.
Starting line является стартовой строкой сообщения, определяющей его тип.
Headers является названием и описывает параметры передачи и тело сообщения.
Message Body есть тело сообщения и содержит непосредственно его данные.
Обязательными элементами любого HTTP-сообщения являются стартовая строчка и заголовок. Причем форматы Starting line запроса и ответы отличаются. Да, Starting line ответа имеет следующий формат:
HTTP/Версия протокола Код состояния Пояснение
HTTP/1.0 507 Insufficient Storage
Код состояния является трехзначным числом, которое несет в себе информацию для клиента о результатах выполнения запроса и соответственно определяет дальнейшие действия клиента. Существующий набор указанных кодов стандартизирован и описан в соответствующих документах RFC. Первая позиция в коде определяет так называемый класс кода состояния. Клиенту может быть неизвестен полученный им код состояния, но, согласно стандарту, он обязан среагировать на класс кода.
Таким образом, страницы ошибок HTTP не что иное, как отображение части Starting line ответа сервера по предварительному запросу клиента. Рассмотрим назначение каждого класса кодов состояния.
Официальные коды ошибок
Существует пять классов кодов состояния и, соответственно, пять групп кодов. Рассмотрим их более подробно отдельно для каждого класса.
Класс 1
Коды 1-го класса являются информационными, то есть могут информировать клиента, например о процессе передачи данных. В ответе клиента они не нуждаются. Ключевое слово: Informational. Формат: 1хх, где х – десятичное число или ноль. Приведем их.
- 100 Continue — Клиент может продолжать отправку заголовков.
- 101 Switching Protocols — Уведомление о переключении на другой протокол согласно требованию клиента.
- 102 Processing — Сервер требует дополнительного времени для обработки запроса.
- 103 Early Hints — Ответ клиента содержит только часть заголовка. Другая часть будет сформирована позже.
Класс 2
Коды 2-го класса информируют о случаях успешного принятия и обработки запроса от клиента. Ключевое слово: Success. Формат: 2хх, где х – десятичное число или ноль. Приведем их.
- 200 OK — Запрос успешно выполнен.
- 201 Created — Сообщение о создании по результатам выполнения запроса нового ресурса, основной адрес которого указан в поле Location заголовка.
- 202 Accepted — Запрос принят, но его обработка может занять много времени.
- 203 Non-Authoritative Information — Запрос выполнен, но информация может быть устаревшей.
- 204 No Content — Запрос выполнен, но ответ содержит только заголовки без тела сообщения.
- 205 Reset Content — Требование клиента обнулить введенные пользователем данные.
- 206 Partial Content — Частичный запрос GET выполнен, но ответ имеет только часть сообщения. В заголовке Content-Range указаны диапазоны байтов содержимого сообщения.
- 207 Multi-Status — В теле сообщения передаются результаты выполнения нескольких независимых операций в виде XML-документа.
- 208 Already Reported — Информация о том, что специальная информация уже была передана в сообщении Multi-Status.
- 226 IM Used — Заголовок A-IM был принят и сервер возвращает клиенту его содержимое с учетом указанных параметров.
Класс 3
Коды 3-го класса уведомляют клиента о необходимости выполнить второй запрос по URL-адресу, указанному в поле Location заголовка. Ключевое слово: Redirection. Формат: 3хх, где х – десятичное число или ноль. Приведем их.
- 300 Multiple Choices — список вариантов предоставления ресурса по указанному URI для возможности альтернативного выбора для клиента или пользователя.
- 301 Moved Permanently — Документ был окончательно перенесен на новый URI-адрес, указанный в поле Location заголовка. Читайте статью «Перелинковка и продвижение сайта с помощью устаревшего контента благодаря 301 редиректу».
- 302 Found, 302 Moved Temporarily — Документ временно доступен по URL, указанному в заголовке.
- 303 See Other — Необходимо запросить документ по URI, указанный в заголовке с обязательным использованием метода GET.
- 304 Not Modified — Документ не был изменен после последнего запроса клиента методом GET с использованием заголовков If-Modified-Since или If-None-Match.
- 305 Use Proxy — Запрос к ресурсу должен осуществляться посредством прокси-сервера, URL которого указан в поле Location заголовка.
- 307 Temporary Redirect — Ресурс, к которому был запрос, временно доступен по URL, указанному в поле заголовка. Способ запроса изменять нельзя.
- 308 Permanent Redirect — Ресурс, к которому был запрос окончательно перенесен на URI, указан в поле заголовка.
Класс 4
Коды 4 класса сообщают об ошибках со стороны клиента. Ключевое слово: Client Error. Формат: 4хх, где х – десятичное число или ноль. Приведем их.
- 400 Bad Request — В запросе обнаружена синтаксическая ошибка.
- 401 Unauthorized — Для доступа к ресурсу требуется проверка подлинности. В поле WWW-Authenticate заголовка указаны его условия.
- 402 Payment Required — Код планируется использовать в будущем для платных пользовательских сервисов.
- 403 Forbidden — Запрос не может быть выполнен из-за существующих ограничений клиента в доступе к ресурсу.
- 404 Not Found — Веб-ресурс по указанному в запросе URL не найден.
- 405 Method Not Allowed — Указанный в запросе метод не применим к текущему ресурсу. Доступные методы перечислены в поле Allow заголовка ответа.
- 406 Not Acceptable — Веб-ресурс, к которому был запрос, не соответствует характеристикам, переданным в заголовке.
- 407 Proxy Authentication Required — Прокси-сервер для доступа к ресурсу требует проверки подлинности.
- 408 Request Timeout — время ожидания передачи данных истекло.
- 409 Conflict — Запрос не выполнен из-за конфликта доступа к ресурсу.
- 410 Gone — Веб-ресурс недоступен, хотя раньше он находился по указанному в запросе URL.
- 411 Length Required — Для указанного ресурса необходимо заполнить поле Content-Length заголовка запроса.
- 412 Precondition Failed — Условия, указанные в полях заголовка, не были выполнены.
- 413 Payload Too Large — Запрос не может быть выполнен из-за большого размера запроса.
- 414 URI Too Long — Запрос не может быть выполнен из-за большой длины ресурса URI.
- 415 Unsupported Media Type — Несоответствие типов данных для указанного метода их обработки.
- 416 Range Not Satisfiable — В поле Range заголовка запроса указан диапазон, выходящий за пределы ресурса, а также отсутствует поле If-Range.
- 417 Expectation Failed — Не может быть удовлетворено значение поля Expect заголовка запроса.
- 418 I’m a teapot — Код не используется сейчас и не планируется его использование в дальнейшем.
- 419 Authentication Timeout — используется в качестве альтернативы коду 401. Отсутствует в RFC 2616.
- 421 Misdirected Request — Запрос был перенаправлен на сервер, который не может ответить.
- 422 Unprocessable Entity — Запрос успешно принят, однако его выполнение невозможно из-за логической ошибки.
- 423 Locked — Ресурс заблокирован для возможности применения к нему указанного в запросе метода.
- 424 Failed Dependency — Запрос не выполнен из-за невыполнения операции, от результатов которой зависит.
- 425 Too Early — Сервер не готов к обработке информации.
- 426 Upgrade Required — Указание на необходимость обновления протокола.
- 428 Precondition Required — Указание на необходимость использования в запросе заголовков условий типа If-Match.
- 429 Too Many Requests — Ошибка появляется в случае, если было сформировано много запросов от клиента за короткий промежуток времени.
- 431 Request Header Fields Too Large — Превышена допустимая длина заголовков. Вместо указанного ответа сервер может прервать соединение.
- 449 Retry With — Запрос на выполнен из-за отсутствия всей информации.
- 451 Unavailable For Legal Reasons — Доступ к ресурсу закрыт по юридическим причинам.
- 499 Client Closed Request — Ошибка появляется в nginx, если клиент закрыл соединение при обработке запроса.
Класс 5
Коды 5-го класса сообщают об ошибках выполнения запроса по вине сервера. Ключевое слово: Server Error. Формат: 5хх, где х – десятичное число или ноль. Приведем их.
- 500 Internal Server Error — Внутренняя ошибка сервера, не относящаяся к ошибкам класса.
- 501 Not Implemented — Не поддерживаются возможности сервера, необходимые для обработки запроса.
- 502 Bad Gateway — Сервер, выполняющий функции шлюза или прокси, получил недействительный ответ от старшего по рангу сервера.
- 503 Service Unavailable — Временно по техническим причинам сервер не имеет возможности для обработки запросов.
- 504 Gateway Timeout — Сервер, выполняющий функции шлюза или прокси, не дождался ответа от старшего по рангу сервера.
- 505 HTTP Version Not Supported — Указанная в запросе версия HTTP не поддерживается.
- 506 Variant Also Negotiates — ошибочная конфигурация, когда выбранный вариант указывает сам на себя.
- 507 Insufficient Storage — недостаток места для выполнения текущего запроса. Код введен в WebDAV.
- 508 Loop Detected — Сообщение об отмене операции, поскольку обнаружен бесконечный цикл. Введен в WebDAV.
- 508 Resource Limit Reached — вариант ошибки 508 в CloudLinux для случая, если исчерпан лимит хостинга.
- 509 Bandwidth Limit Exceeded — Выдается при превышении ограничений на потребление трафика.
- 510 Not Extended — Указывает на отсутствие расширения, используемого клиентом.
- 511 Network Authentication Required — ответ сервера-посредника, указывающий на необходимость авторизации клиента.
- 520 Unknown Error — Возникает, если сервер CDN не смог обработать ошибку веб-сервера. Нестандартный код CloudFlare.
- 521 Web Server Is Down — При подключении CDN отклоняется веб-сервер.
- 522 Connection Timed Out — Возникнет, когда CDN не удалось подключиться к веб-серверу.
- 523 Origin Is Unreachable — Веб-сервер недоступен.
- 524 A Timeout Occurred — При истечении времени тайм-аута подключение между сервером CDN и веб-сервером.
- 525 SSL Handshake Failed — Ошибка SSL между CDN и веб-сервером.
- 526 Invalid SSL Certificate — Невозможно подтвердить сертификат шифрования веб-сервера. Нестандартный код CloudFlare.

Виртуальный хостинг FREEhost.UA позволяет управлять страницами ошибок с помощью панели управления хостингом. В панели управления можно задать страницы, которые будет видеть пользователь при ошибках 401, 403, 404, 500 и 503. Показывать пользователю понятные страницы ошибок, описывающие причину происходящего, это правило хорошего тона. Не забывайте их настраивать.
Приглашаем Вас воспользоваться виртуальным хостингом FREEhost.UA. Наша техническая поддержка работает 24/7 и всегда готова прийти к Вам на помощь.
How to Fix the “SSL Handshake Failed” and “Cloudflare 525” Error (5 Methods)

Installing a Secure Sockets Layer (SSL) certificate on your WordPress site enables it to use HTTPS to ensure secure connections. Unfortunately, there are a variety of things that can go wrong in the process of confirming a valid SSL certificate and making a connection between your site’s server and a visitor’s browser. If you’ve encountered an “SSL Handshake Failed” error message and are confused as to what it means, you’re not alone. It’s a common error that doesn’t tell you much on its own. While this can be a frustrating experience, the good news is that there are simple steps you can take to resolve the issue. In this post, we’ll explain what the SSL Handshake Failed error is and what causes it. Then we’ll provide you with several methods you can use to fix it. Let’s get started!
An Introduction to the SSL Handshake
Before we dig deeper into what causes a TLS or SSL handshake failure, it’s helpful to understand what the TLS/SSL handshake is. Secure Sockets Layer (SSL) and Transport Layer Security (TLS) are protocols used to authenticate data transfers between servers and external systems such as browsers. SSL certificates are needed in order to secure your website using HTTPS. We won’t get too in-depth about the difference between TLS vs SSL since it’s a minor one. The terms are often used interchangeably, so for simplicity’s sake, we’ll use “SSL” to refer to both. With that out of the way, an SSL handshake is the first step in the process of establishing an HTTPS connection. To authenticate and establish the connection, the user’s browser and the website’s server must go through a series of checks (the handshake), which establish the HTTPS connection parameters. Let us explain: the client (typically the browser) sends a request for a secure connection to the server. After the request is sent, the server sends a public key to your computer and checks that key against a list of certificates. The computer then generates a key and encrypts it, using the public key sent from the server. To make a long story short, without the SSL handshake, a secure connection won’t be made. This can pose a significant security risk. Plus, there are a lot of moving parts involved in the process. That means there are many different opportunities for something to go wrong and cause a handshake failure, or even lead to the “your connection is not private” error, causing visitors to leave.
Understanding What Causes SSL Handshake Failures

An SSL Handshake Failure or Error 525 means that the server and browser were unable to establish a secure connection. This can happen for a variety of reasons. Generally, an Error 525 means that the SSL handshake between a domain using Cloudflare and the origin web server failed: However, it’s also important to understand that SSL errors can happen on the client-side or the server-side. Common causes of SSL errors on the client-side include:
- The wrong date or time on the client device.
- An error with the browser configuration.
- A connection that is being intercepted by a third party.
Some server-side causes include:
- A cipher suite mismatch.
- A protocol used by the client that isn’t supported by the server.
- A certificate that is incomplete, invalid, or expired.
Typically, if the SSL handshake fails, the issue can be attributed to something wrong with the website or server and their SSL configurations.
How to Fix the SSL Handshake Failed Error (5 Methods)
There are several potential causes behind the “SSL Handshake Failed” error. So there’s no simple answer when it comes to how you should fix it.
Fortunately, there are a handful of methods you can use to begin exploring potential issues and resolving them one by one. Let’s take a look at five strategies you can use to try and fix the SSL Handshake Failed error.
1. Update Your System Date and Time
Let’s start with one of the more unlikely causes, but one that is incredibly easy to correct if it is the problem: your computer’s clock.
If your system is using the wrong date and time, that may interrupt the SSL handshake. When the system clock is different than the actual time, for example, if it’s set too far into the future, it can interfere with the SSL certificate verification.
Your computer’s clock might have been set incorrectly due to human error or simply due to a glitch in your settings. Whatever the reason, it’s a good idea to check and make sure your system time is correct, and update it if it’s not.
Of course, if your clock is showing the correct information, it’s safe to assume that this isn’t the source of the “SSL Handshake Failed” issue.
SSL certificate checker tool such as the one offered by Qualys:

This tool is both reliable and free to use. All you need to do is input your domain name into the Hostname field, and then click on Submit. Once the checker is done analyzing your site’s SSL configuration, it will present you with some results:

On this page, you can find out if your certificate is still valid and see if it has been revoked for any reason.
In either case, updating your SSL certificate should resolve the handshake error (and is vital for keeping your site and your WooCommerce store secure).
3. Configure Your Browser for the Latest SSL/TLS Protocol Support
Sometimes the best way to determine the root cause of an issue is by process of elimination. As we mentioned earlier, the SSL handshake failure can often occur due to a browser misconfiguration.
The quickest way to determine whether a particular browser is the problem is to try switching to a different one. This can at least help narrow down the problem. You may also try disabling any plugins and resetting your browser back to its default settings.
Another potential browser-related issue is a protocol mismatch. For example, if the server only supports TLS 1.2, but the browser is only configured for TLS 1.0 or TLS 1.1, there’s no mutually-supported protocol available. This will inevitably lead to an SSL handshake failure.
How you can check to see if this problem is occurring varies based on the browser you’re using. As an example, we’ll look at how the process works in Chrome. First, open your browser and go to Settings > Advanced. This will expand a number of menu options.
Under the System section, click on Open your computer’s proxy settings:

This will open up a new window. Next, select the Advanced tab. Under the Security section, check to see if the box next to Use TLS 1.2 is selected. If not, check that option:

It’s also recommended that you uncheck the boxes for SSL 2.0 and SSL 3.0.
The same applies to TLS 1.0 and TLS 1.1 since they are being phased out. When you’re done, click on the OK button, and check to see if the handshake error has been resolved.
Note that if you’re using Apple Safari or Mac OS there isn’t an option to enable or disable SSL protocols. TLS 1.2 is automatically enabled by default. If you’re using Linux, you can refer to the Red Hat guide on TLS hardening.
4. Verify That Your Server Is Properly Configured to Support SNI
It’s also possible that the SSL handshake failure is being caused by improper Server Name Indication (SNI) configuration. The SNI is what enables a web server to securely host several TLS certificates for one IP address.
Each website on a server has its own certificate. However, if the server isn’t SNI-enabled, that can result in an SSL handshake failure, because the server may not know which certificate to present.
There are a few ways to check and see whether a site requires SNI. One option is to use Qualys’ SSL Server Test, which we discussed in the previous section. Input your site’s domain name, and then click on the Submit button.
On the results page, look for a message that reads “This site works only in browsers with SNI support”:

Another approach for detecting if a server is using SNI is to browse the server names in the ‘ClientHello’ message. This is a more technical process, but it can offer a lot of information.
It involves checking the extended hello header for a ‘server_name’ field, to see if the correct certifications are presented.
If you’re familiar with using tools such as the OpenSSL toolkit and Wireshark, you might find this method preferable. You can use openssl s_client with and without the -servername option:
# without SNI $ openssl s_client -connect host:port # use SNI $ openssl s_client -connect host:port -servername host
If you get two different certificates with the same name, it means that the SNI is supported and properly configured.
However, if the output in the returned certificates is different, or the call without SNI cannot establish an SSL connection, it indicates that SNI is required but not correctly configured. Resolving this issue may require switching to a dedicated IP address.
5. Make Sure the Cipher Suites Match
If you still haven’t been able to identify the cause of the SSL handshake failure, it might be due to a cipher suite mismatch. In case you’re unfamiliar with the term, ‘cipher suites’ refer to a set of algorithms, including ones for key exchange, bulk encryption, and message authentication code, that can be used for securing SSL and TLS network connections.
If the cipher suites that a server uses don’t support or match what’s used by Cloudflare, that can result in an “SSL Handshake Failed” error.
When it comes to figuring out whether there is a cipher suite mismatch, Qualys’ SSL Server Test proves yet again to be a useful tool.
When you input your domain and click on Submit, you’ll see a summary analysis page. You can find the cipher information under the Cipher Suites section:

You can use this page to discover which ciphers and protocols the server supports. You’ll want to look out for any that display the ‘weak’ status. In addition, this section also details the specific algorithms for the cipher suites.
To correct this issue, you can compare the results against what your browser supports by using the Qualys SSL/TLS Capabilities of Your Browser tool. For more extensive information and guidance about cipher suites, we also recommend checking out the ComodoSSLStore guide.
Summary
One of the most perplexing yet common types of SSL-related problems is the “SSL Handshake Failed” error. Dealing with this error can be stressful since it has many potential causes, including both client- and server-side issues.
However, there are some reliable solutions you can use to identify the problem and resolve it. Here are five ways you can use to fix the SSL Handshake Failed error:
- Update your system date and time.
- Check to see if your SSL certificate is valid (and reissue it if necessary).
- Configure your browser to support the latest TLS/SSL versions.
- Verify that your server is properly configured to support SNI.
- Make sure the cipher suites match.
Get all your applications, databases, and WordPress sites online and under one roof. Our feature-packed, high-performance cloud platform includes:
- Easy setup and management in the MyKinsta dashboard
- 24/7 expert support
- The best Google Cloud Platform hardware and network, powered by Kubernetes for maximum scalability
- An enterprise-level Cloudflare integration for speed and security
- Global audience reach with up to 35 data centers and 260 PoPs worldwide
Get started with a free trial of our Application Hosting or Database Hosting. Explore our plans or talk to sales to find your best fit.
Is your WordPress site slow?
Uncover your website’s performance bottlenecks to deliver a better user experience.
Код ошибки HTTP 525 SSL Handshake Failed Cloudflare (Квитирование SSL не удалось) Cloudflare
Если 525 ошибок возникают периодически, просмотрите журналы ошибок исходного веб-сервера, чтобы определить причину. Настройте Apache для регистрации ошибок mod_ssl. Кроме того, nginx включает ошибки SSL в свой стандартный журнал ошибок, но может потребовать повышения уровня журнала.
Если Вам помогла информация размещенная на странице «HTTP коды» — Вы можете поддержать наш проект.
Saved searches
Use saved searches to filter your results more quickly
Cancel Create saved search
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
metarhia / Example Public template
Cloudflare with balancer error 525 #158
MarhiievHE asked this question in Q&A
Aug 26, 2021 · 2 comments · 7 replies
Something went wrong.
Quote reply
>’s edit
<> deleted this content .
>’s edit
Something went wrong.
MarhiievHE
Aug 26, 2021
Подскажите планируется ли поддержка работы balancer-а с Cloudflare?
Возможно я что то не так делаю, но когда я его использую c Cloudflare выдает ошибку 525 SSL handshake failed. А если выключаю в конфиге application/config/server.js balancer
balancer: 0 protocol: 'https', ports: [443],
то Cloudflare не выдает ошибок, и если прямо на порты обращаться минуя балансер тоже нет ошибки.
Beta Was this translation helpful? Give feedback.
1 You must be logged in to vote