Що таке Cloudflare і як підключити сайт
Привіт:) У цьому пості розповім що таке технологія Cloudflare, для чого потрібна, як працює та покажу на реальному прикладі як під'єднати до неї сайт.
Що таке Cloudflare
Взагалі Cloudflare — це компанія, що надає послуги із безпеки та прискорення роботи веб-сайтів шляхом використання свого глобального мережевого інфраструктурного сервісу.
Її однойменна технологія використовується для:
- захисту веб-сайтів від DDoS-атак та зловмисного програмного забезпечення, витоку інформації та інших загроз безпеці;
- підвищення продуктивності веб-сайтів шляхом кешування контенту та оптимізації його доставки.
Технологія Cloudflare базується на глобальній мережі серверів, розміщених по всьому світу. Коли користувачі намагаються отримати доступ до веб-сайту, їх запити спочатку направляються на сервер Cloudflare, де вони проходять через різноманітні фільтри безпеки. Cloudflare застосовує різні технології для виявлення та фільтрації зловмисного трафіку, таких як виявлення ботів, аналіз трафіку на предмет аномальної активності та інші методи захисту.
Крім цього, Cloudflare надає послуги кешування контенту, які дозволяють зберігати копії веб-сайту на різних серверах у різних регіонах, що дозволяє зменшити час завантаження сторінок для користувачів з різних куточків світу. Це допомагає підвищити продуктивність веб-сайту і забезпечити більш швидкий доступ до контенту для віддалених користувачів.
Одним з прикладів використання Cloudflare є захист веб-сайту від DDoS-атак, коли зловмисники намагаються перевантажити сервери веб-сайту, щоб зробити його недоступним для користувачів. Cloudflare може розпізнати та блокувати ці атаки. Ще одним прикладом може бути прискорення завантаження веб-сайту завдяки кешуванню контенту. Cloudflare зберігає копії сторінок веб-сайту на своїх серверах по всьому світу. Це дозволяє сторінкам сайтів швидше завантажуватися у браузерах для користувачів навіть на великій відстані від основного сервера.
до змісту ↑Як працює Cloudflare
Cloudflare виступає посередником між клієнтом і сервером, використовуючи зворотний проксі для віддзеркалення та кешування веб-сайтів. Зберігаючи веб-контент для доставки на найближчому сервері, він може суттєво оптимізувати час завантаження.
Ця проміжна "конструкція" або "гранична мережа" також дозволяє Cloudflare забезпечити певний рівень фільтрації для безпеки. Перебуваючи між клієнтом і хостинг-сервером, вона може виявляти шкідливий трафік, перехоплювати розподілені атаки на відмову в обслуговуванні, відбивати атаки ботів, видаляти бот-трафік і обмежувати спам.
Коротше кажучи, гранична мережа створює набагато ближчу точку входу для даних, замість того, щоб пересилати їх між серверами по всьому світу.
Cloudflare — це мережа доставки контенту. CDN стають дедалі популярнішою моделлю в Інтернеті, оскільки вирішують важливу проблему: затримку. Маючи більше сотні центрів обробки даних по всьому світу, Cloudflare працює, кешуючи версію веб-сайту клієнта та будь-які статичні ресурси, а потім видаючи їх відвідувачам залежно від їхнього місцезнаходження.
Це забезпечує найменшу відстань між відвідувачем і веб-сайтом, що зменшує затримку та час завантаження сторінок. Веб-сайти на базі Cloudflare можуть працювати швидше.
На додаток до доставки контенту та послуг DNS, Cloudflare надає безпеку як послугу із захистом від DDoS, маскуванням електронної пошти, доступом до брандмауера веб-додатків та блокуванням загроз. Перебуваючи між клієнтом і хостом, технологія також може фільтрувати трафік, зменшуючи трафік ботів і спам.
до змісту ↑Як підключити сайт до Cloudflare
У цьому розділі покажу як підключити власний сайт до Cloudflare. Для прикладу візьму домен petrov.pp.ua, на основі якого створений тестовий сайт на WordPress, а також активований безкоштовний тариф Cloudflare.
Додавання домену
- Зареєструйтесь на сайті https://www.cloudflare.com/ та увійдіть в адмін-панель.
- У правому верхньому кутку адмін-панелі клацніть + Add site.
- У полі Enter your domain вкажіть домен свого сайту, до якого бажаєте під'єднати Cloudflare, та натисніть кнопку Continue.
- Оберіть тарифний план (у моєму випадку — Free) та натисніть Continue.
Cloudflare почне сканувати DNS-зони вашого домену. В результаті знайде DNS-записи для вказаного домену (та всіх його піддоменів) та створить їх у себе. Зазвичай системою знаходяться усі записи DNS (в разі чого їх можна додавати вручну). Навпроти кожного запису, в колонці Proxy satus, відображатиметься його проксі-статус. Найкращим буде випадок, коли всі записи матимуть статус Proxied.
- Якщо всі записи знайдено автоматично, просто натисніть кнопку Continue.
На наступному кроці система видасть список NS-серверів для вказаного вами домену, на які потрібно буде замінити прописані у даний момент.
Для мого домену вказані NS-сервери dns1.hostiq.ua та dns2.hostiq.ua. Їх потрібно буде замінити на woz.ns.cloudflare.com та wren.ns.cloudflare.com.
- Замініть NS-сервери у панелі керування вашим доменом.
Лист виглядатиме приблизно так:
- Поверніться у панель керування Cloudflare та внизу натисніть кнопку Done, check nameservers.
Налаштування HTTPS (SSL)
Після того як NS-сервери в панелі керування доменом були замінені та застосовані, ваш сайт одночасно доступний за двома протоколами: HTTP та HTTPS. Це означає, що дані, якими обмінюються браузер відвідувача та сам сайт, незахищені. Вся інформація повинна передаватися виключно через HTTPS. Cloudflate має необхідні інструменти для налаштування такої поведінки.
При підключенні домену до Cloudflare, ваш веб-сайт отримує високий рівень захисту. Cloudflare стає надійним посередником між відвідувачем і вашим сайтом. Це означає, що з'єднання потребує захисту з 2-х боків: на шляху від відвідувача до Cloudflare, від Cloudflare до вашого сайту. Така подвійна система захисту гарантує безпеку та конфіденційність для кожного відвідувача.
Отже, для налаштування захищеного з'єднання через HTTPS виконайте декілька кроків.
- На головній сторінці адміністративної панелі Cloudflare у меню зліва клацніть Websites та оберіть під'єднаний раніше домен.
- Зліва перейдіть SSL/TLS -> Overview та оберіть один із режимів шифрування трафіку.
Справа доступні 4 режими захисту даних на всьому шляху між клієнтським браузером та вашим сайтом. Кожен з цих режимів залежить від того, чи встановлений на хостингу для вашого сайту SSL-сертифікат.
Захист з’єднання між відвідувачем вашого сайту до серверів Cloudflare система забезпечить самостійно за допомогою власного безкоштовного SSL-сертифіката Universal, який активується автоматично одразу після того, як тільки ви додасте домен через кнопку + Add site (див. вище). А от для захисту з’єднання дорогою між Cloudflare та вашим веб-ресурсом потрібно буде встановити SSL-сертифікат на хостинг.
до змісту ↑Режими захисту даних Cloudflare
- Off (not secure). Шифрування (захист) даних вимкнене.
- Flexible. Шифрування трафіку виключно на шляху між браузером і Cloudflare. Увімкніть якщо на хостингу не встановлений SSL-сертифікат для домену. Не рекомендую використовувати цей режим на постійній основі, а виключно у тому випадку, якщо нема можливості під'єднати SSL-сертифікат.
- Full (strict). Шифрування трафіку на всьому шляху: від браузера відвідувача та до вашого сайту. Увімкніть якщо на хостингу встановлений SSL-сертифікат для домену.
- Відкрийте розділ SSL/TLS -> Edge Certificates та активуйте наступні опції:
- Always Use HTTPS,
- Automatic HTTPS Rewrites.
Вибір режиму кешування
За замовчуванням сервіс CloudFlare визначає самостійно які сторінки та ресурси сайту кешувати. Це можна перевірити наявністю заголовку cf-cache-status
із значенням DYMANIC
.
cf-cache-status: DYMANIC
на WordPress-сайті в адмін-розділі Інструменти -> Site Health -> Статус присутнє повідомлення "Page cache is not detected..." (перевіряв за відсутності будь-якого плагіну кешування).Можна примусово вказати сервісу кешувати всі сторінки сайту. Для цього виконайте наступні дії.
- В панелі адміністрування сервісом CloudFlare у розділі Websites оберіть свій сайт.
- Перейдіть Caching -> Cache Rules та натисніть кнопку + Create Rule.
- у наступному вікні в полі Rule name (required) вкажіть довільну назву правила. В секції When incoming requests match… для поля Field оберіть значення Hostname. Значення Value пропишіть назву свого домену. Нижче оберіть варіант Eligible for cache та в кінці сторінки натисніть Deploy.
В результаті роботи цього правила вказаний вище заголовок змінить своє значення на наступне:
cf-cache-status: HIT
Це означає, що така сторінка була успішно закешована на боці Cloudflare.