Зв’язок з інтернет-ресурсами зазвичай здійснюється шляхом відправлення запитів до конкретного хоста на сервері, де ці ресурси зберігаються. Цей процес можливий з використанням комп’ютера, смартфона або будь-якого іншого пристрою з доступом до інтернету.
У даній ситуації, пристрій, що ініціює запит на ресурс від сервера, називається клієнтом, а сам процес запиту ресурсів від сервера відомий як HTTP-запит.
HTTP – це набір протоколів або правил, що визначають порядок обміну інформацією в інтернеті. Коли клієнт звертається до сервера із запитом на певний ресурс, це розглядається як відправлення HTTP-запиту.
Після отримання запиту від клієнта, сервер, крім надання самого ресурсу (у випадку успішного запиту), також генерує тризначний код стану, що відображає результат обробки цього запиту.
Запит може завершитися успішно, може бути перенаправлений, або ж необхідні ресурси можуть бути відсутні на сервері. Інформація про стан запиту, передається у вигляді кодів стану.
Коди стану поділяються на різні категорії, ідентифіковані першою цифрою в коді. Коди, що починаються з 1, несуть інформаційний характер, вказуючи на те, що запит отримано та процес його обробки триває. Коди, що починаються з 2, свідчать про успішне отримання, розуміння та прийняття запиту клієнта.
Коди, що починаються з 3, вказують на необхідність перенаправлення, коди з першою цифрою 4 сигналізують про помилку з боку клієнта, а коди, що починаються з 5, повідомляють про помилку на сервері.
Існують як офіційно встановлені коди стану, визначені стандартом HTTP, так і неофіційні коди, що розширюють класифікацію офіційних кодів. Одним із таких неофіційних кодів є 521, що сигналізує про недоступність веб-сервера. Цей код використовується проксі-сервісом Cloudflare.
Зворотний проксі-сервер виступає як проміжний сервер, розміщений перед веб-серверами, що приймає запити клієнтів і перенаправляє їх на відповідні веб-сервери. Така архітектура виключає прямий контакт клієнтів з веб-серверами, що зберігають ресурси.
Зворотний проксі-сервер забезпечує захист ідентифікаційних даних веб-серверів, підвищує їхню надійність, безпеку та продуктивність, а також допомагає в розподілі навантаження на веб-сайтах з інтенсивним трафіком.
Прикладом зворотних проксі-сервісів, таких як Cloudflare, є мережа доставки контенту (CDN). CDN складається з географічно розподілених серверів, що кешують веб-контент ближче до фізичного розташування користувачів, що сприяє пришвидшенню завантаження контенту.
Помилка 521 “Веб-сервер недоступний” виникає у випадках, коли вихідний сервер, до якого клієнт намагається отримати доступ, відмовляється встановлювати з’єднання з проксі-сервером Cloudflare. Для надання доступу до контенту, що запитується клієнтом, проксі-сервіс Cloudflare встановлює з’єднання через порти 80 або 443 з вихідним сервером, де знаходиться потрібний ресурс.
Інколи вихідний сервер безпосередньо відхиляє спробу з’єднання з проксі-сервером Cloudflare і відправляє повідомлення про помилку. Коли Cloudflare стикається з такою помилкою з’єднання, це призводить до відображення помилки 521 “Веб-сервер недоступний” для клієнта, що надіслав запит.
Причини виникнення помилки 521
Хоча помилка 521 вказує на те, що вихідний веб-сервер недоступний, це не завжди є наслідком саме його непрацездатності. Існують інші фактори, які можуть спричинити цю помилку. Деякі з них включають:
#1. Вихідний веб-сервер не працює
Якщо вихідний веб-сервер, з якого запитується ресурс, перебуває в офлайні, зворотний проксі-сервер Cloudflare не зможе встановити з ним зв’язок, що призведе до появи помилки 521. Ця помилка також може виникати, коли певні процеси веб-сервера працюють некоректно, що унеможливлює з’єднання Cloudflare з ним.
#2. Вихідний веб-сервер блокує запити від Cloudflare
Зворотні проксі-сервіси Cloudflare обробляють запити клієнтів та пересилають їх на сервери з необхідними ресурсами. Через це налаштування безпеки вихідного сервера або брандмауер можуть сприйняти велику кількість запитів з IP-адрес Cloudflare як атаки.
Це може призвести до блокування IP-адрес Cloudflare, унеможливлюючи підключення Cloudflare до вихідного веб-сервера, що і спричиняє помилку 521, навіть якщо сам сервер працює коректно.
#3. Неправильна конфігурація вихідного сервера
Мережа доставки контенту (CDN) Cloudflare є зворотним проксі-сервісом. Для коректної роботи з CDN, сервери повинні бути налаштовані належним чином. Неправильна конфігурація під час налаштування CDN призведе до помилки 521 при спробі клієнтів звернутися до вихідного сервера. Брандмауери, налаштовані на скидання пакетів замість відмови у з’єднанні, також можуть викликати цю помилку.
#4. Проблеми з SSL-сертифікатом Cloudflare
Cloudflare використовує шифрування трафіку між сервером і клієнтом за допомогою сертифікатів Secure Socket Layer (SSL). SSL-сертифікати забезпечують аутентифікацію веб-сайтів та встановлення зашифрованого з’єднання.
У випадку проблем з SSL-сертифікатом веб-сайту або режимом шифрування, який використовує Cloudflare, вихідний сервер відхилить спробу підключення, що призведе до помилки 521.
Як виправити помилку 521
Існує кілька методів усунення помилки 521. Ось деякі з них:
#1. Перевірте доступність вихідного сервера
Помилка 521 може з’являтися через те, що вихідний сервер є неактивним або працює з перебоями. Щоб перевірити, чи вихідний сервер запущений і працює, відкрийте термінал і введіть команду ping, вказавши адресу сайту, який ви хочете перевірити.
ping techukraine.net.com
Якщо сервер працює, ви отримаєте відповіді від сервера, як показано нижче:
У цьому випадку вихідний сервер techukraine.net працює. Однак другий перевірений сервер був недоступний на момент написання статті. Від нього не було отримано жодного пакета, і втрата пакетів становила 100%. При відкритті веб-сайту з’являлася сторінка з помилкою 502:
Натисніть CTRL + C для виходу з виводу команди ping.
Інший спосіб перевірити доступність вашого сервера — відвідати сайт isitdownrightnow та ввести адресу веб-сайту. Сайт повідомить, чи сервер працює, як показано нижче:
Якщо ви вперше використовуєте CDN Cloudflare зі своїм сервером, переконайтеся, що ваш вихідний сервер правильно налаштований для прослуховування порту 443, і дозволяє IP-адресам Cloudflare отримувати доступ до цього порту. Також переконайтеся, що ваш брандмауер налаштований коректно, щоб не скидати пакети. Це також може призвести до помилки 521.
#2. Додайте IP-адреси Cloudflare до білого списку
Ще однією причиною помилки 521 може бути блокування IP-адрес Cloudflare як підозрілих через велику кількість запитів. Щоб запобігти цьому, зверніться до свого хостинг-провайдера, щоб переконатися, що він не блокує і не обмежує запити від IP-адрес Cloudflare.
Якщо ви використовуєте власний виділений сервер, переконайтеся, що ваш брандмауер не блокує IP-адреси Cloudflare. Також вимкніть або видаліть спеціальні модулі Apache, такі як mod_antiloris та mod_reqtimeout, які блокують IP-адреси, що підключаються понад 22 рази.
#3. Перевірте SSL-сертифікати або режим шифрування
Залежно від обраного режиму шифрування SSL (гнучкий, повний або строгий), Cloudflare буде взаємодіяти з SSL-сертифікатом, наданим вихідним сервером, по-різному. Ці режими шифрування Cloudflare необхідні для встановлення з’єднання між проксі-сервером Cloudflare та вихідним сервером.
Повний або строгий режими є найпоширенішими варіантами шифрування, оскільки вони вимагають наявності SSL-сертифіката. При використанні цих режимів Cloudflare вимагає дійсних SSL-сертифікатів від вихідного сервера. Проблеми з SSL-сертифікатом вашого веб-сайту, особливо при використанні суворого режиму шифрування, можуть призвести до помилки 521.
Щоб усунути цю проблему, встановіть сертифікати походження Cloudflare на вихідний сервер або використовуйте SSL-сертифікати від надійного центру сертифікації. Перехід з режиму суворого шифрування на повний також може допомогти вирішити помилку 521, викликану проблемами з SSL-сертифікатом вихідного сервера.
Висновок
Використання мереж доставки контенту (CDN), як-от Cloudflare, стало популярним способом надання веб-контенту. CDN дозволяють веб-додаткам завантажуватися швидше, працювати ефективніше, ставати надійнішими та більш захищеними від атак.
При використанні Cloudflare ви можете зіткнутися з помилкою 521, яка вказує на проблему з вихідним сервером. У такому випадку розгляньте рішення, наведені вище. Якщо вони не допоможуть, зверніться до служби підтримки клієнтів Cloudflare для отримання додаткової допомоги.