Cloudflare Origin Certificate — безкоштовний SSL-сертифікат, підписаний Cloudflare CA. Діє до 15 років і не потребує автопродовження. Використовується замість Let's Encrypt для спрощення керування.
Відмінності від Let's Encrypt
| Параметр | Origin Certificate | Let's Encrypt |
|---|---|---|
| Термін дії | До 15 років | 90 днів |
| Автопродовження | Не потрібно | Налаштовується |
| Довіра браузерів | Тільки через Cloudflare | Усі браузери ✅ |
| Вартість | Безкоштовно | Безкоштовно |
| Wildcard | ✅ Так | ✅ (через DNS) |
Створення Origin Certificate
SSL/TLS → Origin Server → Create Certificate:
- Hostnames: example.com, *.example.com
- Certificate Validity: 15 years
- Key type: RSA (2048) або EC (P-256)
Завантажте: Certificate (.pem) і Private Key (.key).
Встановлення на Nginx
# Зберегти файли
sudo cp origin_cert.pem /etc/ssl/cloudflare/cert.pem
sudo cp private_key.key /etc/ssl/cloudflare/key.pem
sudo chmod 600 /etc/ssl/cloudflare/key.pem
# Конфіг Nginx
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/ssl/cloudflare/cert.pem;
ssl_certificate_key /etc/ssl/cloudflare/key.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
}
Встановлення на Apache
<VirtualHost *:443>
ServerName example.com
SSLEngine on
SSLCertificateFile /etc/ssl/cloudflare/cert.pem
SSLCertificateKeyFile /etc/ssl/cloudflare/key.pem
</VirtualHost>
Часті помилки під час встановлення Origin Certificate
Майже всі проблеми з Origin Certificate зводяться до трьох причин: застарілий файл сертифіката, невідповідна пара ключа або спроба звернутися до сервера в обхід Cloudflare.
526 Invalid SSL certificate
Cloudflare отримав від джерела сертифікат, який не може перевірити: строк дії сплив, ім'я хоста не збігається з доменом у запиті, або на сервері встановлений сертифікат іншого домену. Перевірте, що ssl_certificate в Nginx вказує саме на файли Origin Certificate, а не на старий Let's Encrypt.
nginx: [emerg] SSL_CTX_use_PrivateKey_file("/etc/ssl/cloudflare/key.pem") failed (SSL: error:0B080074:x509 certificate routines: X509_check_private_key:key values mismatch)
Приватний ключ не відповідає сертифікату — типово при повторному створенні Origin Certificate у панелі Cloudflare без заміни обох файлів на сервері. Origin Certificate і Private Key видаються один раз і парою; при перевипуску старий ключ стає непридатним, завантажуйте і замінюйте обидва файли одразу.
NET::ERR_CERT_AUTHORITY_INVALID
Таку помилку браузер покаже при прямому звертанні до IP-адреси сервера або до домену з вимкненим проксуванням (сіра хмаринка в DNS-записі). Origin Certificate підписаний внутрішнім CA Cloudflare і не входить до списків довірених кореневих сертифікатів браузерів — він дійсний лише коли трафік проходить через проксі Cloudflare.
RSA чи ECDSA: який тип ключа обрати
| Параметр | RSA (2048) | ECDSA (P-256) |
|---|---|---|
| Розмір сертифіката | Більший | Менший |
| Швидкість handshake | Нижча | Вища |
| Сумісність зі старим ПЗ | Вища | Нижча |
| Рекомендація | Для змішаного трафіку | Для сучасних клієнтів |
Для типового сайту на Nginx чи Apache різниця на практиці непомітна — обирайте RSA, якщо не впевнені, бо його підтримують геть усі клієнти, включно із застарілими бібліотеками в корпоративних мережах.
Коли Origin Certificate не підходить
Не використовуйте Origin Certificate, якщо плануєте вимикати проксування Cloudflare (сіра хмаринка) для якогось піддомену — наприклад, для поштового сервера чи API, до якого клієнти звертаються напряму за IP. У таких випадках потрібен сертифікат, якому довіряють браузери і поштові клієнти самі по собі: Wildcard SSL через Let's Encrypt. Origin Certificate також марний для перевірки через зовнішні сканери на кшталт SSL Labs — вони звертаються до сервера напряму і покажуть «сертифікат недовірений», хоча для реальних відвідувачів через Cloudflare все працює нормально.
Як перевірити результат
Не покладайтеся лише на візуальний «замочок» у браузері — він покаже замок у будь-якому разі, поки проксування увімкнене, навіть якщо сертифікат на origin-сервері зіпсований.
# Перевірити сертифікат напряму на origin-сервері, минаючи Cloudflare
curl -vI --resolve example.com:443:YOUR_SERVER_IP https://example.com/ 2>&1 | grep -i "subject\|issuer"
# Перевірити, що Cloudflare віддає публічний сертифікат
openssl s_client -connect example.com:443 -servername example.com </dev/null 2>/dev/null | openssl x509 -noout -issuer
Перша команда має показати issuer «CloudFlare Origin SSL Certificate Authority» — це підтверджує, що на сервері встановлений саме Origin Certificate. Друга команда, виконана ззовні, покаже публічний сертифікат Cloudflare (Let's Encrypt чи Google Trust Services) — так і має бути, кінцевому користувачу Origin Certificate взагалі не видно.
Часті питання
Чи потрібно продовжувати Origin Certificate так само, як Let's Encrypt?
Регулярне поновлення, як для Let's Encrypt, не потрібне — термін дії Origin Certificate розрахований на роки наперед, а не на місяці. Це не означає повної відмови від контролю: термін усе одно скінченний, і варто один раз поставити нагадування на дату завершення, щоб не зіткнутися з її раптовим настанням через тривалий час після встановлення.
Чи вдасться використати один і той самий Origin Certificate на кількох серверах одночасно?
Так, один сертифікат вдасться встановити на кілька серверів, що стоять за тим самим доменом у Cloudflare, — приміром, на всі вузли балансувальника навантаження. Обмежень за кількістю серверів сертифікат не накладає, важливо лише скопіювати на кожен сервер обидва файли — сам сертифікат і приватний ключ — і тримати їх з однаково суворими правами доступу.
Що станеться із сайтом, коли раптово вимкнути проксування Cloudflare для домену з уже встановленим Origin Certificate?
Браузер відвідувачів одразу почне показувати помилку недовіреного сертифіката, тому що Origin Certificate підписаний внутрішнім центром сертифікації Cloudflare і розпізнається лише проксованим трафіком. Сайт формально продовжить відповідати на запити, а ось для звичайних відвідувачів стане недоступний через попередження безпеки, доки проксування не увімкнуть знову або не встановлять окремий публічно довірений сертифікат.
Чи вдасться встановити Origin Certificate через панель керування хостингом, а не вручну?
Це залежить від конкретної панелі керування: деякі панелі хостингу дозволяють вставити готовий сертифікат і ключ у відповідні поля інтерфейсу без ручного редагування конфігурації, а інші такої можливості не передбачають. У будь-якому разі сертифікат і ключ спершу слід згенерувати в панелі Cloudflare, а вже потім переносити їх на сервер у спосіб, який підтримує обрана панель.