# ZRAZU > ZRAZU — український реєстратор доменів і SSL-сертифікатів: домени .UA і міжнародні, DNS, SSL з автоматичним оновленням, кабінет клієнта. Нижче — документація для людей і ШІ-агентів; кожна сторінка є і в Markdown. ## Домени - [Як зареєструвати домен](https://zrazu.com/docs/domains-register.md): Знайдіть вільне імʼя, додайте його в кошик, оберіть власника, прийміть документи реєстру й оплатіть. Зазвичай домен стає вашим менш ніж за хвилину. - [Перенесення домену до ZRAZU](https://zrazu.com/docs/domains-transfer-in.md): Як перенести домен від іншого реєстратора: перевірка, код перенесення, вибір DNS, оплата й терміни. Що робити, якщо код не підійшов. - [Продовження й автопродовження домену](https://zrazu.com/docs/domains-renew.md): Як продовжити домен вручну, увімкнути автопродовження з балансу, які нагадування ми надсилаємо і як свідомо відпустити домен. - [Власник і контакти домену](https://zrazu.com/docs/domains-owner-contacts.md): Як створити контакт, призначити власника й змінити його: пауза 72 години, згода нового власника протягом 14 днів і що видно у WHOIS. - [Перенесення домену від ZRAZU](https://zrazu.com/docs/domains-transfer-out.md): Як отримати код перенесення, щоб перевести домен до іншого реєстратора: зняти замок, замовити код у кабінеті і чому код приходить лише листом. - [Масові дії з доменами](https://zrazu.com/docs/domains-bulk.md): Як змінити автопродовження, нагадування, замок перенесення чи сервери імен для багатьох доменів одразу, зупинити пачку й відкотити зміни. ## DNS - [DNS-зона на серверах ZRAZU — як увімкнути](https://zrazu.com/docs/dns-zone.md): Безкоштовний DNS на серверах ZRAZU: які сервери імен вказати, як увімкнути зону для домену, змінити записи, скасувати зміну й повернути стару ревізію. - [Записи DNS для сайту й пошти — приклади](https://zrazu.com/docs/dns-records.md): Які записи додати для сайту (A, AAAA, CNAME) і пошти (MX, SPF, DKIM, DMARC) у DNS-зоні ZRAZU, з готовими прикладами та поясненням кожного поля. - [Домен іншого реєстратора й Cloudflare](https://zrazu.com/docs/dns-external.md): Як вести DNS-зону на серверах ZRAZU для домену іншого реєстратора, вказати власні сервери імен і підключити Cloudflare за ключем API у кабінеті. - [DNSSEC для домену на серверах ZRAZU](https://zrazu.com/docs/dns-dnssec.md): Як увімкнути та вимкнути DNSSEC для домену на DNS ZRAZU: що означає підпис зони, де взяти DS-запис і що робити із залишеним DS попереднього провайдера. - [Переадресація домену на іншу адресу](https://zrazu.com/docs/dns-forward.md): Як налаштувати переадресацію домену на ZRAZU: корінь і www відкривають вказану адресу з кодом 301 або 302, зі збереженням шляху й параметрів або без. ## SSL-сертифікати - [Типи SSL-сертифікатів у ZRAZU](https://zrazu.com/docs/ssl-overview.md): DV, Wildcard, Multi-domain, OV і EV: чим відрізняються сертифікати, коли вистачить безкоштовного і як працює підписка на 1 рік з оновленнями частинами. - [Замовлення й активація сертифіката](https://zrazu.com/docs/ssl-order.md): Як замовити платний SSL у кабінеті: домен, CSR зі своїм ключем, додаткові імена, оплата будь-яким способом. Як активувати після оплати. - [Підтвердження домену для сертифіката](https://zrazu.com/docs/ssl-dcv.md): Як довести, що домен ваш: запис DNS, файл на сайті або лист. Автоматичне додавання запису для доменів на DNS ZRAZU і в Cloudflare, типові помилки. - [Файли сертифіката й установка на сервер](https://zrazu.com/docs/ssl-files.md): Які файли дає ZRAZU після випуску: fullchain, cert, chain. Як зібрати PFX для IIS і Windows і куди їх покласти. Закритий ключ лишається у вас. - [Перевипуск і відкликання сертифіката](https://zrazu.com/docs/ssl-reissue.md): Коли перевипустити сертифікат з новим CSR, що буде зі строком і оплатою, як відкликати сертифікат, якщо ключ витік, і що з поверненням грошей. - [ACME для certbot, acme.sh і Caddy](https://zrazu.com/docs/ssl-acme.md): Як сервер сам випускає й оновлює сертифікат: ACME-сервер ZRAZU для платних сертифікатів і acme-dns для безкоштовних, зокрема wildcard. ## SSL: автоматичне оновлення - [Як працює автоматичне оновлення сертифіката](https://zrazu.com/docs/ssl-auto.md): Як SSL-сертифікат ZRAZU оновлюється на сайті сам: особисте посилання, задача за розкладом на вашому боці і вибір інструкції під свій хостинг. - [Сервер Linux — nginx, Apache, Caddy, HAProxy, Docker](https://zrazu.com/docs/ssl-auto-linux.md): Скрипт для nginx, Apache, Caddy, HAProxy і Docker раз на добу забирає свіжий сертифікат, звіряє його з вашим ключем і перезапускає вебсервер без простою. - [Windows Server і IIS](https://zrazu.com/docs/ssl-auto-windows-iis.md): Завдання Планувальника Windows раз на добу забирає свіжий сертифікат, прив'язує його до ключа в сховищі Windows і до сайту IIS. - [Kubernetes — сертифікат у TLS-секреті оновлюється сам](https://zrazu.com/docs/ssl-auto-kubernetes.md): CronJob раз на добу забирає свіжий сертифікат і оновлює TLS-секрет, з яким працює ingress; ключ лишається в тому самому секреті. - [Хостинг із cPanel — сертифікат оновлюється сам](https://zrazu.com/docs/ssl-auto-cpanel.md): Задача cron у cPanel раз на добу забирає свіжий сертифікат і ставить його на сайт через вбудований інструмент cPanel. SSH не потрібен. - [Панелі хостингу без автоматики — оновлення вручну](https://zrazu.com/docs/ssl-auto-panels-manual.md): adm.tools, Cityhost, Mirohost, ISPmanager, Plesk, DirectAdmin, Hostinger, Hetzner: де в панелі замінити сертифікат, що вставити і як не пропустити час. - [AWS — балансувальник, CloudFront, API Gateway](https://zrazu.com/docs/ssl-auto-aws.md): Функція Lambda раз на добу забирає свіжий сертифікат і оновлює його в AWS Certificate Manager на тому самому ARN — балансувальник підхопить сам. - [Azure — Application Gateway, App Service, Front Door](https://zrazu.com/docs/ssl-auto-azure.md): Runbook Azure Automation раз на добу забирає свіжий сертифікат і додає нову версію в Key Vault — сервіси Azure підхоплюють її самі. - [Google Cloud — балансувальник із Certificate Manager](https://zrazu.com/docs/ssl-auto-gcp.md): Задача Cloud Run за розкладом Cloud Scheduler раз на добу оновлює сертифікат у Certificate Manager на місці — балансувальник підхоплює його сам. - [Cloudflare перед сайтом](https://zrazu.com/docs/ssl-auto-cloudflare.md): Сайт за Cloudflare: на Free і Pro наш сертифікат стоїть на вашому сервері, на Business і Enterprise — оновлюється в Cloudflare скриптом через API. - [Конструктори сайтів — Tilda, Wix, Shopify, Prom, Horoshop та інші](https://zrazu.com/docs/ssl-auto-site-builders.md): Tilda, Wix, Shopify, Prom, Horoshop та інші конструктори самі дають безкоштовний сертифікат і не приймають чужий — купувати SSL для сайту не потрібно. - [Посилання на сертифікат — довідка для розробників](https://zrazu.com/docs/ssl-auto-pull-api.md): Адреси, формати, коди відповіді, умовні запити, ліміти і правила безпеки особистого посилання на сертифікат — для своїх інтеграцій і ШІ-агентів. ## Моніторинг - [Що перевіряє моніторинг ZRAZU](https://zrazu.com/docs/monitoring-checks.md): Моніторинг стежить за доменом, делегуванням, DNSSEC, сертифікатом, поштою та сайтом і пише лише тоді, коли щось справді зламалося. - [Додати домени на моніторинг і тариф](https://zrazu.com/docs/monitoring-add.md): Як поставити домени інших реєстраторів на моніторинг списком, файлом CSV або з Cloudflare, і як працюють безкоштовний та платні тарифи. - [Сповіщення та інциденти моніторингу](https://zrazu.com/docs/monitoring-alerts.md): Куди надходять тривоги про домен, як підключити пошту, Telegram чи вебхук, налаштувати тихі години й що робити, коли відкрито інцидент. ## Кабінет і оплата - [Початок роботи: реєстрація, вхід, організація](https://zrazu.com/docs/account-start.md): Як створити акаунт ZRAZU, увійти паролем, посиланням чи ключем доступу, створити організацію й перемикатися між організаціями в кабінеті. - [Команда і ролі в організації](https://zrazu.com/docs/account-team.md): Як запросити колегу в організацію, яку роль йому дати, що вміє кожна роль, як змінити роль або прибрати людину та де дивитися журнал входів. - [Безпека входу: ключ доступу, код, сесії](https://zrazu.com/docs/account-security.md): Як захистити акаунт ZRAZU: додати passkey чи код із застосунку, зберегти резервні коди, змінити пароль і пошту, закрити чужі сесії, відновити доступ. - [Баланс і оплата: картка та рахунок на IBAN](https://zrazu.com/docs/account-balance.md): Як поповнити баланс ZRAZU карткою або за рахунком на IBAN, зберегти картку, оплатити замовлення, а також що робити, якщо оплата не пройшла. - [Рахунки, акти і платники](https://zrazu.com/docs/account-documents.md): Як додати платника, щоб отримувати рахунки й акти на компанію чи ФОП, де їх знайти й завантажити та як вивантажити історію грошей в CSV. - [Звернення до підтримки в кабінеті](https://zrazu.com/docs/account-support.md): Як написати в підтримку ZRAZU з кабінету, пошти чи Telegram, що вказати в зверненні, як стежити за відповіддю та чого підтримка не робить. ## API і MCP - [API ZRAZU — огляд для розробників](https://zrazu.com/docs/api-overview.md): Базова адреса, вхід за ключем, ідемпотентність, формат помилок і ліміти API ZRAZU — для своїх скриптів, інтеграцій і ШІ-агентів. - [Ключі API — як створити і обмежити](https://zrazu.com/docs/api-keys.md): Як створити ключ API в кабінеті ZRAZU, вибрати права, домени, IP-адреси і строк, а також відкликати ключ, якщо він потрапив не в ті руки. - [Домени й DNS через API — приклади](https://zrazu.com/docs/api-domains-dns.md): Приклади запитів API ZRAZU: список доменів, моніторинг, читання зони DNS, зміна записів, нова зона та перевірка делегування. - [MCP для ШІ-агентів — паспорт домену](https://zrazu.com/docs/api-mcp.md): Як підключити MCP-сервер ZRAZU до Claude, ChatGPT чи Cursor: адреса, інструмент паспорта домену, ліміти і те, чого агент не бачить. ## Реселерам і студіям - [Як стати реселером ZRAZU](https://zrazu.com/docs/resellers-program.md): Як продавати домени .UA і SSL зі свого біллінгу за оптовими цінами: анкета в кабінеті, договір, пісочниця, бойовий логін. Хто може подати заявку. - [Підключення EPP у кабінеті реселера](https://zrazu.com/docs/resellers-epp.md): Як реселеру створити логін пісочниці, задати пароль, додати адреси IP і сертифікат, підтвердити масові дії та відкликати доступ у кабінеті ZRAZU. - [Прайс реселера в кабінеті](https://zrazu.com/docs/resellers-prices.md): Де реселер бачить оптові ціни на домени й SSL поруч із роздрібними цінами вітрини, у якій валюті вони, як читати таблицю і чому вона завжди свіжа. - [Модулі ZRAZU для WHMCS](https://zrazu.com/docs/resellers-whmcs.md): Як реселеру встановити модулі «ZRAZU Domains» і «ZRAZU SSL» у WHMCS: завантажити архів, перевірити в пісочниці, випустити ключ для бойового режиму. - [Кабінет веб-студії](https://zrazu.com/docs/resellers-studio.md): Як веб-студії вести домени клієнтів в одному кабінеті ZRAZU: вступ до програми, ступінь за кількістю доменів, клієнти, ціни, виписка за місяць і перенесення. --- # Як зареєструвати домен URL: https://zrazu.com/docs/domains-register/ Реєстрація домену займає чотири кроки: пошук, кошик, оформлення й оплата. Усе робиться в [кабінеті](https://vse.zrazu.com/domains/new/). Ціни на перший рік дивіться на сторінці [цін](https://zrazu.com/prices/) і в самому пошуку. Тут цифр немає, щоб вони не застарівали. ## Що знадобиться - Обліковий запис і організація в кабінеті. - Роль із правом оплати: додавати домени в кошик може лише така роль. - Контакт власника в довіднику «Контакти» (крок 4 нижче). Якщо його ще немає, створіть його заздалегідь: [Власник і контакти домену](https://zrazu.com/docs/domains-owner-contacts.md). ## Крок за кроком 1. Відкрийте **Домени → Новий домен**. 2. У полі «Імʼя або домен» введіть імʼя, наприклад `кава`, і натисніть **Знайти**. Можна ввести й повну адресу, наприклад example.com. 3. Перегляньте список зон. Біля вільних доменів є кнопка додавання в кошик (**У кошик**). Якщо домен зайнятий, можна натиснути **Стежити**: ми повідомимо, коли він звільниться. У пошуку є фільтри за групами зон: українські, міжнародні й нові. 4. Праворуч відкриється кошик. Натисніть **Оформити**. Крок «Імʼя» просить вибрати власника домену: людину або організацію чи ФОП. 5. Поставте позначку **Я приймаю документи нижче**. Там оферта та документи реєстрів тих зон, що є у вашому замовленні (для `.UA` це регламент реєстру). Редакції документів ми зберігаємо разом із замовленням. 6. Оплатіть: з балансу або за рахунком у банк. Про оплату рахунком дивіться розділ «Гроші» в кабінеті. 7. Дочекайтеся кроку «Готово». Зазвичай реєстрація триває до хвилини. Напис «Домен ваш.» означає, що все пройшло. ## Хто може бути власником Власник (в реєстрі його називають реєстрантом) отримує право на домен. Ним може бути: - **людина**: імʼя та прізвище; - **організація чи ФОП**: назва, а також код ЄДРПОУ чи РНОКПП. Це впливає на WHOIS, публічний довідник реєстру. Дані фізичної особи приховано. Дані організації чи ФОП показано повністю: назву, адресу, пошту й телефон. Власника можна змінити пізніше, але це займе 72 години. У довіднику «Контакти» не можна вибрати запис із позначкою «неповна адреса». Додайте вулицю, місто й країну в картці контакту. ## Якщо не вийшло | Що бачите | Що робити | | --- | --- | | «Цю зону зараз не продаємо» | Оберіть іншу зону. | | «Зону .укр ми не продаємо» | Ця зона недоступна. Оберіть іншу. | | Немає кнопки додавання в кошик, є напис про роль | Попросіть власника або адміністратора організації додати домен: потрібна роль із правом оплати. | | У списку власників порожньо | Створіть контакт у **Домени → Контакти**: його заводять власник або адміністратор організації. | | «Не вийшло — команда ZRAZU повернула гроші на баланс» | Реєстр відхилив реєстрацію. Гроші вже на балансі, можна спробувати інше імʼя. | | «Не вийшло — на розгляді команди ZRAZU» | Команда поверне гроші на баланс або подасть заявку заново. Окремо нічого робити не треба. | | «Реєстр відповідає довше, ніж зазвичай» | Сторінку можна закрити: стан домену побачите в «Усіх доменах». | | Банк ще не підтвердив оплату | Якщо оплату не завершили, повторіть. Якщо гроші списано, напишіть у підтримку з номером замовлення. | --- # Перенесення домену до ZRAZU URL: https://zrazu.com/docs/domains-transfer-in/ Перенесення переводить домен від іншого реєстратора до вас у ZRAZU. Перенесення додає рік до нинішнього строку домену. Після перенесення ми ставимо замок перенесення й беремо домен під нагляд. Ціну перенесення дивіться на сторінці [цін](https://zrazu.com/prices/). ## Перед початком Перенести домен можна, коли виконано всі умови: - У нинішнього реєстратора **знято замок перенесення** (і замок змін, якщо він є). Зніміть його в їхньому кабінеті. - З реєстрації домену або з попереднього перенесення минуло **60 днів**. - Домен не видаляється і не переноситься до когось іншого просто зараз. - Домен у зоні, яку ми переносимо. Це видно під час перевірки. - У вас є **код перенесення**. Його дає нинішній реєстратор у кабінеті або на запит. Це секрет: передавайте його лише через форму в кабінеті й нікому не надсилайте в листуванні чи чаті. Якщо строк домену майже вийшов або навіть минув, але домен ще не видаляється, перенести його можна: перенесення продовжить домен на рік. ## Крок за кроком 1. Відкрийте **Домени → Трансфер**. 2. Введіть домен у вкладці **Один домен** або вставте кілька у вкладці **Списком** (по одному в рядку, через кому або стовпцем CSV, домен у першому стовпці). За один раз перевіряємо до 30 доменів, до 10 перевірок на годину. 3. Натисніть **Перевірити домен** (для списку **Перевірити домени**). Ми лише дивимося, що каже реєстр, і нічого не змінюємо. 4. Для кожного домену побачите стан і підказку. Якщо домен готовий, введіть код перенесення в поле «Код». Код можна додати й пізніше. 5. Натисніть **Оформити перенесення**. Додавати в кошик може власник, адміністратор або бухгалтер організації. 6. Оберіть, що робити з DNS після перенесення (див. нижче). Без цього вибору перенесення не піде далі. 7. Прийміть документи й оплатіть замовлення. Гроші за перенесення беруться, коли реєстр дає остаточну відповідь. Код із неоплаченого кошика ми стираємо через 14 днів. ## DNS після перенесення Вікно «DNS після перенесення» показує, де зараз сервери імен вашого домену й чи є записи. Є два варіанти: - **Залишити ці сервери імен**: сайт і пошта працюють там, де зараз. Ми нічого не чіпаємо. Якщо домен зараз на DNS попереднього реєстратора, то після перенесення той його вимкне і сайт та пошта перестануть працювати. У такому разі ми попросимо окремо підтвердити, що ви це розумієте. - **Перенести на DNS ZRAZU**: ми покажемо знайдені записи зони. Приберіть зайве, додайте потрібне, поставте позначку **Перевірив записи**. Зону застосуємо одразу після перенесення. Знімок записів може бути неповним, тому перевірте його уважно, особливо піддомени й DKIM. Зміну вибору можна внести кнопкою **Змінити вибір**. Для кількох доменів є кнопка **Залишити NS для всіх**. Редагувати зону можна й потім у картці домену. ## Скільки це триває Реєстр передає запит нинішньому реєстратору, і той відповідає до 5 днів. Якщо він мовчить, реєстр підтверджує перенесення сам. Щоб швидше, попросіть нинішнього реєстратора підтвердити перенесення. Це не обовʼязково. Стан видно в «Усіх доменах»: «Надсилаємо до реєстру», «Переноситься до ZRAZU», «Потрібна увага». Там же вказано, до якого дня перенесення завершиться. ## Перенесення багатьох доменів Якщо доменів багато, використовуйте вкладку **Списком** у кроці 2. Якщо переносити не хочете, а лише стежити за доменом, у формі є режим «Лише стежити» (до 25 доменів безкоштовно). ## Якщо не вийшло | Що бачите | Що робити | | --- | --- | | «У нинішнього реєстратора стоїть замок перенесення» | Зніміть замок у кабінеті нинішнього реєстратора й додайте домен знову. | | «Перенести можна з … : 60 днів після реєстрації» | Дочекайтеся вказаної дати. | | «Домен видаляється» | Перенести не можна: повернути домен може лише нинішній реєстратор. Після цього переносьте. | | «Уже переноситься до іншого реєстратора» | Дочекайтеся завершення або скасуйте те перенесення в того реєстратора. | | «Не зареєстрований» | Домен вільний: його можна зареєструвати. | | «Уже у вашому кабінеті» | Переносити не треба. | | «Цю зону ми поки не продаємо» | Зону ми не переносимо. | | «Код перенесення — від 6 до 80 латинських літер, цифр і знаків без пробілів» | Скопіюйте код заново, без пробілів по краях. | | «Код не підійшов» | Візьміть новий код у нинішнього реєстратора й введіть його в «Усіх доменах» у полі «Новий код перенесення», потім натисніть **Надіслати знову**. | | «Нинішній реєстратор відхилив перенесення» | Дізнайтеся в нього причину, попросіть не відхиляти наступний запит, візьміть новий код. | | «Перенесення не вдалося» | Гроші лишаються на балансі. Команда ZRAZU звʼяжеться з вами. | --- # Продовження й автопродовження домену URL: https://zrazu.com/docs/domains-renew/ Домен діє до певної дати. Якщо його не продовжити, після цієї дати він перестане працювати, а згодом його видалять із реєстру, і ім'я зможе зайняти хтось інший. Продовжити можна вручну або довірити це автопродовженню. Суму продовження ви бачите в кошику до оплати. Цифр тут немає: ціни дивіться на сторінці [цін](https://zrazu.com/prices/). ## Продовження вручну 1. Відкрийте **Домени → Усі домени** й оберіть домен. 2. Натисніть **Продовжити** (кнопка є і вгорі картки, і в блоці «Строк і продовження»). 3. Оберіть, на скільки років, і режим: з ПДВ або без ПДВ, залежно від платника. 4. Підтвердьте в кошику й оплатіть. Після оплати в картці з'явиться «Новий строк — до …». Загалом строк не може бути довшим за 9 років від сьогодні. Після продовження гроші не повертаються. Продовжувати та вмикати чи вимикати автопродовження можуть ролі з правом платити. ## Автопродовження Коли автопродовження ввімкнено, ми списуємо суму з балансу організації за 30 днів до закінчення строку за тарифом на цей день. Якщо не вийшло (наприклад, бракує грошей), повторюємо спробу за 7 днів і за 1 день до кінця. Тримайте на балансі достатньо коштів. Перемикач знайдете в картці домену, у блоці «Строк і продовження» (**Автопродовження**). Вимкнути автопродовження складніше навмисно: потрібно ввести імʼя домену і підтвердити кодом із застосунку чи passkey. Так ніхто не вимкне його випадково. ## Нагадування про строк Ми надсилаємо листи за 60, 30, 15, 7 і 1 день до кінця строку, а після нього щодня, доки домен не продовжено. Нагадування можна вимкнути, тоді напишемо лише в день видалення домену. ## Відпустити домен Якщо домен вам більше не потрібен, використайте **Відпустити домен…**. Ми вимкнемо автопродовження й нагадування. Після кінця строку домен видалять із реєстру. Щоб не помилитися, потрібно ввести імʼя домену й код із застосунку чи passkey. Передумали до кінця строку: увімкніть автопродовження знову. ## Кілька доменів разом Автопродовження й нагадування можна змінити для багатьох доменів одразу: [Масові дії](https://zrazu.com/docs/domains-bulk.md). ## Якщо не вийшло | Що бачите | Що робити | | --- | --- | | «Строк уже на межі: продовжити можна не далі ніж на 9 років від сьогодні» | Зараз продовжувати не треба: строк і так довгий. | | «Строк ще уточнюємо в реєстрі» | Зачекайте трохи й оновіть сторінку. | | «Автопродовження цього строку вже оплачене» | Нічого не робіть: домен вже продовжується. | | «Останній день продовження минув — домен видаляється з реєстру» | Продовжити вже не можна. Якщо домен потрібен, напишіть у підтримку. | | «Продовження зупинив оператор» | Перемикач і кнопка не діють, доки продовження не відновлять. Напишіть у підтримку. | | Домен «заморожено на час спору» | Продовження триває як завжди, але контакти, сервери імен і замки не змінюються. | | Не вдалося списати автопродовження | Поповніть баланс: ми повторимо спробу за 7 днів і за 1 день. | --- # Власник і контакти домену URL: https://zrazu.com/docs/domains-owner-contacts/ У кожного домену є власник (реєстрант) і контакти: адміністративний, технічний і платіжний. Власник має право на домен, тому змінити його складніше, ніж решту контактів. ## Довідник «Контакти» Контакт — це дані для домену, а не доступ: входу в кабінет у нього немає. Доступ колегам дають у розділі «Команда». Створюють і ведуть контакти власник та адміністратори організації. 1. Відкрийте **Домени → Контакти** і натисніть **Новий контакт**. 2. Оберіть вид: **людина** (прізвище, ім'я) або **організація чи ФОП** (підійде й для перевірки SSL). 3. Заповніть пошту, телефон і адресу. 4. Натисніть **Створити контакт**. Правила полів: - ім'я або назва: до 120 літер; - пошта: латиницею, на зразок name@example.com; - телефон: цифри з кодом країни, наприклад +380 44 123 45 67; - код ЄДРПОУ (8 цифр) чи РНОКПП ФОП (10 цифр) вказують лише для організації чи ФОП; - поштовий індекс в Україні: 5 цифр. У довіднику може бути до 200 контактів, нових за добу не більше 50. Контакт, який стоїть на доменах, видалити не вийде: спершу замініть його на іншій. ## Що видно у WHOIS WHOIS — публічний довідник реєстру. Дані фізичної особи приховано (імʼя, адреса, пошта, телефон). Дані організації чи ФОП публікуються повністю. У вкладці **Власник** картки домену є блок «Що бачать у WHOIS». ## Змінити адміністративний, технічний або платіжний контакт 1. Відкрийте картку домену, вкладка **Власник**. 2. У блоці «Контакти домену» навпроти потрібної ролі натисніть **Замінити**, оберіть запис довідника й натисніть **Застосувати**. Ці контакти змінюються одразу. Лист про зміну отримують і нові, і попередні контакти. Якщо ввімкнено замок контактів, спершу зніміть його у вкладці **Безпека**: це займає 72 години. ## Змінити власника Власника домену змінюють у вкладці **Власник**, блок «Незворотні дії» (**Змінити власника…**). Така зміна захищена від викрадення: 1. Оберіть нового власника з довідника, прочитайте заяву (**Показати заяву**) і введіть імʼя домену для підтвердження. Далі потрібне підтвердження кодом із застосунку чи passkey. 2. Новий власник отримує лист і має погодитися протягом 14 днів. Для цього він відкриває посилання з листа: вхід у кабінет не потрібен. Відкриття сторінки ще не згода: спершу показують текст заяви, потім згоду підтверджують окремою кнопкою (або відмовляються). 3. Зміна набуває чинності через 72 години після згоди. До того діє нинішній власник, а всі контакти й власники організації отримали лист і можуть скасувати зміну (**Скасувати**). 4. Ще 72 години після зміни ми не видаємо код перенесення домену. Для деяких зон адміністратор зони вимагає письмову заяву: тоді після підтвердження потрібно завантажити файл підпису `.p7s` над текстом заяви (кваліфікований електронний підпис). Файл не більший за 256 КБ. Якщо власника ще не вказано, перше призначення застосовується одразу, без паузи. Якщо змінити власника, дані якого стоять на знаку для товарів і послуг, вони мають збігатися зі свідоцтвом на знак. ## Якщо не вийшло | Що бачите | Що робити | | --- | --- | | «Пошта має бути на зразок name@example.com» | Введіть пошту латиницею, без пробілів. | | «ЄДРПОУ — 8 цифр, РНОКПП ФОП — 10 цифр» | Перевірте код. | | «Контакт стоїть на доменах … Спершу замініть його там» | Призначте на цих доменах іншого контакта, потім видаляйте. | | «Контакти доменів ведуть власник і адміністратори організації» | Попросіть їх зробити зміну. | | «Така зміна вже запланована — дочекайтеся її або скасуйте» | Скасуйте попередню зміну або дочекайтеся її завершення. | | «Текст заяви змінився — перегляньте його наново» | Відкрийте заяву ще раз і підтвердьте. | | Домен заморожено на час спору | Контакти, сервери імен і замки не змінюються до рішення сторін, суду або UDRP. | --- # Перенесення домену від ZRAZU URL: https://zrazu.com/docs/domains-transfer-out/ Домен не прив'язаний до нас назавжди: ви можете перевести його до будь-якого іншого реєстратора. Для цього потрібен код перенесення. Це секрет, тому ми не показуємо його на екрані, а надсилаємо листом власнику домену (реєстранту). Ніхто, включно з підтримкою, не просить код у чаті. Нового реєстратора ви обираєте самі: він скаже, куди ввести код. ## Перед початком - Роль із правом виводити домен: у кабінеті це власник організації (адміністратор такого права не має). - У домену вказано власника (реєстранта): без нього код нікому надіслати. - Домен не заморожено на час спору про право. - Після останньої зміни власника, пароля, пошти чи контактів минуло 72 години. - Якщо на серверах ZRAZU увімкнено DNSSEC, вимкніть його у вкладці **DNS** і дочекайтеся зняття (до двох діб). Інакше після перенесення домен може перестати відкриватися. ## Крок за кроком 1. Відкрийте картку домену: **Домени → Усі домени**, потім потрібний домен. 2. У вкладці **Безпека** вимкніть **Замок перенесення**. Підтвердьте дію кодом із застосунку чи passkey. 3. У вкладці **Власник** знайдіть блок **Код перенесення** й натисніть **Надіслати код власнику**. Знову підтвердьте дію. 4. Бачите «Запит прийнято: код прийде листом на …». Відкрийте лист на пошті власника. 5. Введіть код у новому реєстратора й підтвердьте перенесення там. Код можна замовити один раз на добу: поки запит не виконано, повторний не приймаємо. ## Що ще варто знати - Перед виходом переконайтеся, що DNS і пошта на новому місці налаштовані. Це можна зробити заздалегідь. - Якщо домен вам більше не потрібен, його не обовʼязково переносити: див. «Відпустити домен» у [продовженні й автопродовженні](https://zrazu.com/docs/domains-renew.md). ## Якщо не вийшло | Що бачите | Що робити | | --- | --- | | Замок перенесення увімкнено | Зніміть його у вкладці **Безпека**, а потім замовте код. | | «Код перенесення вже запитано — лист прийде реєстранту домену. Повторити можна за добу» | Перевірте пошту реєстранта, у тому числі «Спам». Новий запит можна за добу. | | «Після зміни власника 72 години код не видаємо — до …» | Дочекайтеся вказаної дати. Так ми захищаємо домен від викрадення. | | «Для домену увімкнено DNSSEC на серверах ZRAZU…» | Вимкніть DNSSEC у вкладці **DNS**, дочекайтеся до двох діб. | | «У домену немає контакту реєстранта — код нікому надіслати» | Призначте власника: [Власник і контакти](https://zrazu.com/docs/domains-owner-contacts.md). | | «Домен заморожено на час спору про право» | Перенесення немає до рішення сторін, суду або UDRP. | | «Іде відновлення доступу до акаунта» | Код не видаємо до завершення відновлення. | | «Той, хто запитав код, більше не має на це права» | Повторіть запит з облікового запису власника організації. | --- # Масові дії з доменами URL: https://zrazu.com/docs/domains-bulk/ Якщо доменів багато, не треба відкривати кожен. Оберіть їх у списку й виконайте одну дію для всіх. Така дія називається пачкою. ## Що можна зробити пачкою - увімкнути або вимкнути автопродовження; - нагадувати або не нагадувати про строк; - не продовжувати, тобто відпустити домени; - поставити замок перенесення (зняти замок пачкою не можна: це робиться в картці кожного домену); - змінити сервери імен. Одна пачка вміщує до 1000 доменів, якщо інший ліміт вам не налаштовано. ## Крок за кроком 1. Відкрийте **Домени → Усі домени** й позначте потрібні домени. 2. Над таблицею з'являться дії. Оберіть потрібну. 3. Ми складемо **план** і перевіримо кожен домен до запуску: «можна» або «уже так, нічого не зміниться». Нічого ще не змінено. 4. Перегляньте план у **Домени → Масові дії**. Якщо все гаразд, натисніть **Запустити**. Якщо ні, **Скасувати план**. 5. Пачка виконується по одному домену. Зупинити її можна між доменами кнопкою **Зупинити**. 6. По кожному домену видно результат: змінено, без змін, не вдалося. Дії, що можуть призвести до втрати домену (вимкнення автопродовження чи нагадувань, відпускання, зміна серверів імен), потребують свіжого підтвердження кодом із застосунку чи passkey. Про вимкнення автопродовження й зміну серверів імен усі власники організації отримують лист. ## Стани пачки | Стан | Що це означає | | --- | --- | | Чекає запуску | План перевірено, нічого ще не змінено. | | Виконується | Домени обробляються по одному. | | Зупинено | Пачку зупинили, решта доменів не почата. | | Завершено | Всі домени оброблено. | | Відкочено | Зміни скасовано. | | План скасовано | Нічого не змінено. | ## Відкат і повтор - **Повторити невдалі**: поставить у чергу домени, де не вийшло. - **Відкотити**: повертає попередній стан. Завершену пачку можна відкотити протягом 30 днів. Для замка перенесення відкату немає. - На сторінці «Масові дії» зберігаються останні 50 пачок. ## Якщо не вийшло | Що бачите | Що робити | | --- | --- | | «Не вдалося» навпроти домену | Відкрийте пачку й перегляньте причину, а потім натисніть **Повторити невдалі**. | | Домен заморожено на час спору | Його пропущено: поки триває спір, змін немає. | | Дія недоступна | Для кожної дії потрібна своя роль: автопродовження й відпускання потребують права платити, замки й сервери імен окремих прав. | | Масова зміна серверів імен не стартує після відновлення доступу | 72 години після відновлення доступу сервери імен міняти не можна. | --- # DNS-зона на серверах ZRAZU — як увімкнути URL: https://zrazu.com/docs/dns-zone/ DNS — це «адресна книга» домену: вона каже інтернету, де живе ваш сайт і куди слати пошту. Ви можете вести її на серверах ZRAZU безкоштовно: і для доменів, зареєстрованих у нас, і для доменів інших реєстраторів. ## Наші сервери імен Усі зони віддають три сервери: ```text ns1.zrazu.net ns2.zrazu.net ns3.zrazu.net ``` Зона працює тоді, коли в домену вказані саме ці сервери. Поки домен дивиться на інші сервери, записи з редактора інтернет не бачить. ## Як увімкнути для домену ZRAZU 1. Відкрийте [кабінет](https://vse.zrazu.com/domains/) і зайдіть у потрібний домен. 2. Перейдіть на вкладку **DNS**. 3. Натисніть **Увімкнути DNS ZRAZU**. Поточні записи кореня домену, `www` і пошти ми перенесемо самі. 4. Перевірте, що перенеслося, і натисніть **Перевести домен на сервери ZRAZU**. 5. Зачекайте. Реєстр приймає зміну, а інтернет побачить її протягом доби. Після увімкнення перевірте піддомени й ключі DKIM: переносимо корінь, `www`, пошту й поширені селектори. Чого немає, додайте вручну. Якщо якийсь запис не прийнято в такому вигляді, кабінет покаже його в списку «Не перенесли». Для домену іншого реєстратора шлях інший, див. [DNS для доменів інших реєстраторів і Cloudflare](https://zrazu.com/docs/dns-external.md). ## Усі зони в одному місці У меню кабінету відкрийте **DNS → Усі зони**: там усі зони вашої організації, їхній стан (наприклад, «Працює», «Чекає переведення NS», «Призупинено»), DNSSEC і дати. Можна шукати за назвою та фільтрувати: усі, ZRAZU, інші реєстратори. ## Редактор записів Редактор працює через чернетку: ви змінюєте записи, дивитесь, що саме зміниться, і лише потім застосовуєте. 1. На вкладці **DNS** домену додайте запис кнопкою **Додати запис** або змініть наявний у рядку. 2. Заповніть **Ім'я**, **Тип**, **Значення**, **TTL** (для MX і SRV ще **Пріоритет**). Для самого домену в імені пишуть `@`. 3. Перегляньте блок **Що зміниться**: що додається, що прибирається, де змінюється TTL. Помилки кабінет підсвітить до збереження. 4. Натисніть **Застосувати**. Зміна отримує номер ревізії й публікується зазвичай за хвилину. Скоротити шлях допоможуть: - **Швидко налаштувати**: шаблони для пошти (Google, Microsoft, DMARC) і сайту (GitHub Pages, Vercel). Шаблон лише додає записи в чернетку, нічого не змінюючи до **Застосувати**. - **Вставити з файлу зони**: вставте рядки файлу зони або «ім'я тип значення». Можна й **Завантажити файл зони** (до 100 КБ). - **Завантажити файл зони** з поточного стану, щоб зберегти копію. ### Типи записів і обмеження Підтримуємо типи A, AAAA, CNAME, MX, TXT, CAA, NS і SRV. У зоні може бути до 500 записів. Про те, що писати в кожен тип, читайте в [типових записах для сайту й пошти](https://zrazu.com/docs/dns-records.md). | Поле | Правило | | --- | --- | | TTL | Від 60 секунд до доби. За замовчуванням 3600 (годину) | | Пріоритет | Ціле число від 0 до 65535 (для MX і SRV) | | TXT | До 4000 друкованих символів, лапки писати не треба | TTL — це час, скільки інші сервери пам'ятають запис. Менше значення означає, що зміни дійдуть швидше, але серверів доведеться опитувати частіше. ### Скасувати й повернути - Одразу після **Застосувати** з'являється кнопка **Скасувати** з відліком у 60 секунд. Вона знімає останню зміну. - Далі діє список **Ревізії**: біля кожної старої ревізії є кнопка **Повернути цю**. Зберігаємо останні 50 ревізій. - Після зміни кабінет перевіряє, чи відкривається сайт, чи дійсний сертифікат і чи пошта знаходить сервер. Якщо стало гірше, пропонує **Відкотити зміну**. Змінювати записи може роль із правом на DNS: власник, адміністратор або технік. ## Якщо не вийшло - **«Зона готова, але домен ще дивиться на інші сервери імен».** Домен не переведено на `ns1`–`ns3`. Натисніть **Перевести домен на сервери ZRAZU** (або вкажіть ці сервери в реєстратора). - **«Зону призупинено».** Сервери ZRAZU зараз її не віддають. Напишіть у підтримку. - **«Ще публікуємо ревізію».** Зазвичай це хвилина, повторюємо самі, робити нічого не треба. - **«Змін немає».** Чернетка збігається з тим, що вже збережено. - **«Зону щойно змінили в іншому вікні».** Оновіть сторінку й повторіть. - **«Скасувати можна лише останню зміну протягом хвилини».** Повертайте стару версію зі списку **Ревізії**. - **«TTL — від 60 секунд до доби»** або **«Пріоритет — ціле число від 0 до 65535».** Виправте значення в рядку. --- # Записи DNS для сайту й пошти — приклади URL: https://zrazu.com/docs/dns-records/ Ці записи додають у редакторі зони на вкладці **DNS** вашого домену. Як увімкнути зону й користуватися редактором, описано в [DNS-зоні на серверах ZRAZU](https://zrazu.com/docs/dns-zone.md). Нижче в прикладах стоїть example.com: підставте свій домен, а адреси й імена серверів візьміть у хостинг-провайдера або поштового сервісу. Як читати приклади: **Ім'я** `@` означає сам домен, `www` означає `www.example.com`. ## Сайт Адресу сервера, де живе сайт, дає ваш хостинг. ```text Ім'я Тип Значення @ A 203.0.113.10 www CNAME example.com ``` - **A** веде ім'я на адресу IPv4. - **AAAA** робить те саме для IPv6. Якщо хостинг не дав IPv6-адреси, цей запис не потрібен. - **CNAME** — псевдонім: ім'я веде на інше ім'я (наприклад, `www` на конструктор сайтів). CNAME не ставлять на `@` і поряд з іншими записами того ж імені. Для GitHub Pages і Vercel в редакторі є готові шаблони у блоці **Швидко налаштувати → Сайт**. Якщо ви ввімкнете [переадресацію домену](https://zrazu.com/docs/dns-forward.md), вона замінить ваші записи A, AAAA і CNAME для `@` та `www`. ## Пошта ### MX: куди приходять листи ```text Ім'я Тип Пріоритет Значення @ MX 10 mx1.example.com @ MX 20 mx2.example.com ``` Менший пріоритет головніший: листи спершу йдуть на сервер з 10, а якщо він недоступний, на сервер з 20. Точні імена серверів дає поштовий сервіс. Для Google Workspace та Microsoft 365 у блоці **Швидко налаштувати → Пошта** є шаблони. ### SPF: хто може слати від вашого імені SPF — це TXT-запис на `@`. Він перелічує сервіси, яким дозволено надсилати листи з вашого домену: ```text Ім'я Тип Значення @ TXT v=spf1 include:_spf.google.com ~all ``` Залишайте на домені лише один SPF-запис і об'єднуйте в ньому всі сервіси. Частину значення після `include:` дає ваш поштовий сервіс. ### DKIM: підпис листів Поштовий сервіс дає вам ім'я запису (на кшталт `selector._domainkey`) і довгий ключ. Додайте їх як TXT, скопіювавши ключ повністю: ```text Ім'я Тип Значення selector._domainkey TXT v=DKIM1; k=rsa; p=...ваш_ключ... ``` Лапки в значенні не пишіть, вони не потрібні й не приймаються. ### DMARC: що робити з підробленими листами ```text Ім'я Тип Значення _dmarc TXT v=DMARC1; p=none; rua=mailto:dmarc@example.com ``` `p=none` означає «лише спостерігати»: листи не блокуються, а ви отримуєте звіти. Саме такий запис додає шаблон **DMARC: лише спостерігати**. Суворіші правила вмикайте, коли переконаєтесь, що легітимна пошта проходить перевірку. ## Інші корисні записи - **CAA** обмежує, які центри сертифікації можуть видавати SSL для домену. Приклад значення: `0 issue "letsencrypt.org"`. Без CAA можуть видавати будь-які. - **TXT** використовують і для підтвердження прав на домен у Google, Meta та інших сервісів. - **SRV** задає службу: значення має вигляд «вага порт сервер», наприклад `5 5060 sip.example.com`, ім'я у форматі `_служба._протокол`. - **NS** віддає піддомен іншим серверам імен. Для самого домену (`@`) не потрібен. ## Якщо не вийшло - **«A: потрібна адреса IPv4».** У запис A вставили не IPv4-адресу (наприклад, ім'я сайту). Для імені використовуйте CNAME. - **«TXT: лапки всередині значення не підтримуються».** Приберіть лапки й зворотні скісні риски. - **«CAA: прапорець, тег issue/issuewild/iodef і значення».** Записуйте у форматі `0 issue "letsencrypt.org"`. - **«SRV: вага порт ціль».** Перевірте, що в значенні три частини. - **Ім'я «…» поза зоною.** Ім'я запису має належати вашому домену. - **Пошта не приходить або сайт не відкривається після зміни.** Редактор перевіряє це сам і підкаже **Відкотити зміну**. Крім того, зачекайте тривалість TTL: старі значення ще лежать у кеші. --- # Домен іншого реєстратора й Cloudflare URL: https://zrazu.com/docs/dns-external/ DNS ZRAZU можна підключити і до домену, який зареєстровано деінде. А якщо ви користуєтесь Cloudflare, ZRAZU вміє налаштувати новий домен просто в вашому акаунті Cloudflare. ## DNS ZRAZU для домену іншого реєстратора Домен лишається в поточного реєстратора, а зону DNS веде ZRAZU. Те, що ви вказали в реєстратора наші сервери імен, одночасно підтверджує, що домен ваш. 1. У меню кабінету відкрийте **DNS → Додати домен іншого реєстратора** ([відкрити](https://vse.zrazu.com/dns/add/)). 2. Впишіть домен без піддоменів: `example.com`, а не `www.example.com`. Можна додати до 100 доменів за раз, по одному в рядку. 3. Натисніть **Додати домен**. З'явиться заявка і три сервери імен. 4. На етапі **1. Перевірте записи, які перенесемо** подивіться записи, які ми зняли з поточного DNS: корінь, `www`, пошта й поширені піддомени. Рідкісні піддомени додайте самі. Сервери імен поки не змінюйте. 5. На етапі **2. Замініть сервери імен у реєстратора** вкажіть у реєстратора: ```text ns1.zrazu.net ns2.zrazu.net ns3.zrazu.net ``` 6. Ми самі побачимо зміну, зазвичай за кілька хвилин після того, як її опублікує реєстр (оновлення в реєстрі буває до години). Можна пришвидшити кнопкою **Перевірити**. Перевірка триває від 20 секунд до 3 хвилин. 7. Коли домен підтверджено, записи редагуються так само, як у [DNS-зоні на серверах ZRAZU](https://zrazu.com/docs/dns-zone.md). Заявка діє обмежений час: дату кабінет показує («Заявка діє до…»). Якщо не встигнути, заявку буде знято, і її можна створити знову. Кількість таких доменів обмежена, кабінет показує «Доменів інших реєстраторів: N з M». Ліміт зростає після першої оплати будь-якої послуги або коли в організації є домен у ZRAZU. Зони можна прибрати кнопкою **Прибрати зону**: тоді наші сервери перестануть віддавати записи. Якщо ви не хочете отримувати нагадування про строк реєстрації, натисніть **Не нагадувати про строк**. ## Свої сервери імен для нових доменів Для домену ZRAZU можна вказати й інші сервери імен: у картці домену на вкладці **DNS** натисніть **Змінити сервери імен**, впишіть від 2 до 13 серверів по одному в рядку. Потрібен код другого фактора. Новий набір передається в реєстр, інтернет побачить його протягом доби. Для нових доменів це задають і на рівні організації: **Налаштування → Організація**, блок **Сервери імен для нових доменів**. Там три варіанти: **Сервери ZRAZU**, **Свої сервери** та **Cloudflare (ваш акаунт)**. Існуючі домени змінюються в картці домену. ## Cloudflare Якщо ваші домени в Cloudflare, ZRAZU створить зону в вашому акаунті й сама змінить сервери імен на ті, що видав Cloudflare. Для цього потрібен ключ API. ### Як додати ключ 1. У Cloudflare відкрийте **My Profile → API Tokens → Create Token → Custom token**. Global API Key і Origin CA Key не підходять, бо дають доступ до всього акаунта. 2. Дозвольте тільки потрібне. Для читання зон: **Zone → Zone → Read**. Для ключа на правки: **Zone → Zone → Read**, **Zone → Zone → Edit** і **Zone → DNS → Edit**. Інших доступів (учасники акаунта, Workers, сховища) давати не треба: надто широкий ключ ми відхилимо. 3. У **Client IP Address Filtering** дозвольте адреси ZRAZU. Вони показані в кабінеті на сторінці ключів. 4. Задайте **TTL**, тобто строк дії токена. Коли він мине, ми напишемо, і ключ доведеться додати знову. 5. У кабінеті відкрийте **Команда → Ключі Cloudflare** ([відкрити](https://vse.zrazu.com/team/cloudflare/)), оберіть призначення: **Читання зон** або **Зони й записи**, вставте токен у поле **API Token Cloudflare** і натисніть **Додати ключ**. Токен це секрет. Вставляйте його лише в це поле кабінету, нікому не надсилайте й не публікуйте. Ми ніколи не показуємо ключ, навіть частково. Додавати й видаляти ключі можуть власник і адміністратор організації. Кілька секунд ми перевіряємо ключ у Cloudflare. Стани ключа: «Працює», «Не прийнято», «Cloudflare відмовив», «Відкликано». Новий ключ того самого призначення замінює попередній. У **Журналі звернень** видно, коли ми звертались до Cloudflare цим ключем (без значень). ### Що робить ключ на правки Ключ **Зони й записи** дозволяє створити зону для домену, зареєстрованого у ZRAZU, і запис `_acme-challenge` для SSL. Інші записи ми не чіпаємо, зони не видаляємо. ### Нові домени одразу в Cloudflare 1. Додайте ключ на правки (див. вище). 2. Відкрийте **Налаштування → Організація**, блок **Сервери імен для нових доменів**, і оберіть **Cloudflare (ваш акаунт)**. 3. Нові домени ми реєструємо на серверах ZRAZU, потім створюємо зону у вашому Cloudflare і змінюємо NS на ті, що дав Cloudflare. Якщо Cloudflare відмовить, домен лишається на серверах ZRAZU. Перебіг видно на сторінці **Команда → Ключі Cloudflare**, у блоці «Домени, що переходять у Cloudflare». Стани: «Створюємо зону у вашому Cloudflare», «Міняємо сервери імен», «Чекаємо, поки Cloudflare побачить нові NS», «Домен у Cloudflare». Якщо Cloudflare видав незвичну пару серверів, кабінет попросить **Підтвердити** заміну або **Відмовитися**. Невдалу спробу можна **Повторити**. ## Якщо не вийшло - **Статус «Чекає переведення NS» не змінюється.** Перевірте, що в реєстратора вказані всі три сервери ZRAZU без старих, і натисніть **Перевірити**. - **«Введіть домен, наприклад example.com».** Впишіть лише сам домен, без `www` і без `https://`. - **«Зону призупинено, бо домен не вказує на сервери ZRAZU».** Поверніть у реєстратора сервери `ns1`–`ns3`. - **Ключ Cloudflare «Не прийнято».** Причини з кабінету: це Global API Key (потрібен API Token), це Origin CA Key, токен не читає зони, токен надто широкий, токен вимкнений або прострочений, або скопійовано не повністю. - **Домен лишився на серверах ZRAZU.** Cloudflare відмовив: подивіться причину в рядку домену й натисніть **Повторити**. --- # DNSSEC для домену на серверах ZRAZU URL: https://zrazu.com/docs/dns-dnssec/ DNSSEC додає до зони цифровий підпис. Завдяки йому ніхто не може непомітно підмінити ваші DNS-відповіді. Функція необов'язкова, але корисна. DNSSEC доступний, коли домен вказує на наші сервери імен `ns1.zrazu.net`, `ns2.zrazu.net` і `ns3.zrazu.net`. Спершу [увімкніть DNS-зону й переведіть домен на сервери ZRAZU](https://zrazu.com/docs/dns-zone.md). ## Як увімкнути 1. У [кабінеті](https://vse.zrazu.com/domains/) відкрийте домен і вкладку **DNS**. 2. У блоці **DNSSEC** увімкніть перемикач **Підпис зони DNSSEC**. 3. Дочекайтесь етапів. Кабінет показує їх словами: «Підписуємо зону, чекаємо всі сервери імен», далі «Вносимо DS у реєстр», а в кінці «DNSSEC працює». Для доменів, зареєстрованих у ZRAZU, DS-запис у реєстр ми вносимо самі. Для домену іншого реєстратора кабінет попросить: «Внесіть DS у реєстратора домену». У такому разі: 1. У блоці DNSSEC скопіюйте **DS-запис** (Key tag, Алгоритм, Тип дайджесту, Дайджест) або кнопкою **Одним рядком**. Деякі реєстратори просять замість цього **DNSKEY**: Flags, Протокол, Алгоритм і Публічний ключ. 2. Внесіть їх у панелі свого реєстратора, у розділі DNSSEC. 3. Дочекайтесь стану «DNSSEC працює». DS і DNSKEY це публічні дані. Їх можна безпечно копіювати. ## Як вимкнути 1. Вимкніть перемикач **Підпис зони DNSSEC** і підтвердьте **Так, вимкнути DNSSEC**. 2. Спершу ми знімемо DS у реєстрі, і лише потім, згодом, підпис зони. Поспіху тут немає: поки старий DS живе в кешах, підпис мусить лишатись, щоб домен не перестав відкриватись. Наразі це не менше двох діб. 3. Поки DNSSEC увімкнено або знімається, змінити сервери імен на чужі не можна. Спершу вимкніть DNSSEC. Увімкнути знову можна, коли підпис знято. ## Чужий DS у реєстрі Якщо раніше домен підписував інший провайдер, у реєстрі міг лишитись його DS. Перед переведенням на сервери ZRAZU зніміть його кнопкою **Зняти DS у реєстрі** та підтвердіть **Так, зняти DS**. Робіть це, лише якщо домен більше не підписується на старих серверах імен: інакше він може перестати відкриватись. Змінювати DNSSEC може роль із правом на DNS: власник, адміністратор або технік. ## Якщо не вийшло - **«Спершу переведіть домен на сервери імен ZRAZU».** DNSSEC працює лише з нашими серверами. - **«Крок затримується, ми вже дивимося».** Нічого робити не треба, ми побачимо це самі. - **«DNSSEC ще вимикається».** Зачекайте, поки підпис буде знято, і ввімкніть знову. - **«Для домену заплановано зміну серверів імен».** DNSSEC можна ввімкнути, коли зміна застосується або буде скасована. - **Домен не відкривається після внесення DS у реєстратора.** Перевірте, що DS скопійовано повністю й відповідає поточному ключу зони. --- # Переадресація домену на іншу адресу URL: https://zrazu.com/docs/dns-forward/ Переадресація (редірект) відправляє відвідувачів домену на іншу адресу. Наприклад, `example.com` і `www.example.com` ведуть на ваш сайт на конструкторі або на основний домен. Працює для доменів на серверах імен ZRAZU. Якщо домен ще не там, переадресація запрацює після переведення: див. [DNS-зону на серверах ZRAZU](https://zrazu.com/docs/dns-zone.md). ## Що важливо знати Увімкнення **замінює ваші записи A, AAAA і CNAME для `@` і `www`** записами сервера ZRAZU. Сайт на корені домену перестане відкриватись, його замінить переадресація. Кабінет попереджає про це до натискання, а після увімкнення показує, які ваші записи було знято. Решта записів (наприклад, пошта) не змінюються. ## Як налаштувати 1. У [кабінеті](https://vse.zrazu.com/domains/) відкрийте домен і вкладку **DNS**. 2. У блоці **Переадресація** натисніть **Налаштувати переадресацію**. 3. У полі **Куди вести** вкажіть повну адресу, що починається з `http://` або `https://`, наприклад `https://shop.example.com/`. 4. Оберіть **Тип переадресації**: **Постійна (301)** для остаточного переїзду або **Тимчасова (302)**. 5. За потреби поставте позначку **Зберігати шлях і параметри**: тоді `example.com/page?x=1` відкриє відповідну сторінку на новому адресі, а не його головну. 6. Натисніть **Увімкнути переадресацію**. Кабінет напише «Переадресацію збережено». Поточні налаштування видно у рядку «Зараз». Їх можна змінити кнопкою **Змінити** і **Зберегти**. Сертифікат для адрес з переадресацією ми видаємо автоматично, тому `https://example.com` теж працює. ## Як вимкнути Натисніть **Вимкнути** і підтвердьте **Так, вимкнути**. На `@` і `www` лишиться сторінка-заглушка ZRAZU, доки ви не додасте свої записи. Попередні записи не повертаються, тож додайте їх у [редакторі](https://zrazu.com/docs/dns-zone.md) заново. Приклади для сайту є в [типових записах](https://zrazu.com/docs/dns-records.md). Змінювати переадресацію може роль із правом на DNS: власник, адміністратор або технік. ## Якщо не вийшло - **«Адреса має починатися з http:// або https://».** Вкажіть повну адресу. - **«Вкажіть адресу з ім'ям сайту, а не IP».** Переадресація на IP-адресу не підтримується. - **«Адреса з логіном чи паролем не підходить».** Приберіть логін і пароль з адреси. - **«Адреса з # не підходить».** Приберіть частину після `#`. - **«Домен не може переадресовувати сам на себе».** Вкажіть іншу адресу. - **«Адреса задовга або має пробіли чи службові знаки».** Скоротіть її й приберіть пробіли. - **«Домен ще не на серверах імен ZRAZU».** Переадресація запрацює після того, як домен перейде на `ns1`–`ns3`. - **«Переадресацію саме змінюють».** Оновіть сторінку й повторіть. --- # Типи SSL-сертифікатів у ZRAZU URL: https://zrazu.com/docs/ssl-overview/ SSL-сертифікат вмикає https на сайті: дані між відвідувачем і сайтом шифруються, а браузер бачить, що домен справді ваш. У ZRAZU є безкоштовний сертифікат Let’s Encrypt і платні сертифікати з підпискою. ## Який тип вам потрібен | Тип | Що в ньому | Кому підходить | | --- | --- | --- | | DV | Підтверджено, що домен ваш | Більшості сайтів, яким потрібні рахунок, договір і акт або гарантія центру сертифікації | | Wildcard | Один сертифікат на домен і всі його піддомени одного рівня (`*.example.com`) | Багато піддоменів одного сайту | | Multi-domain (SAN) | Кілька різних доменів в одному сертифікаті | Кілька окремих сайтів, якими зручніше керувати разом | | OV | У сертифікаті є перевірене ім’я організації | Коли банк, контрагент чи тендер просять підтверджену організацію | | EV | Розширена перевірка організації | Лише якщо її прямо вимагає регулятор чи контрагент | Шифрування в усіх типів однакове, і воно те саме, що в безкоштовного Let’s Encrypt. Платні відрізняються гарантією центру сертифікації, закривними документами та підтримкою. На позиції в Google тип сертифіката не впливає. EV в адресному рядку браузера нічим не виділяється. Wildcard покриває піддомени одного рівня (`shop.example.com`), але не сам `example.com` і не `a.b.example.com`. Скільки імен можна додати до Multi-domain, залежить від обраного сертифіката: форма замовлення показує ліміт. Ціни та повний перелік — на сторінці [https://zrazu.com/prices/](https://zrazu.com/prices/), опис типів — у розділі [https://zrazu.com/ssl/](https://zrazu.com/ssl/). ## Чи не вистачить безкоштовного Let’s Encrypt входить у ZRAZU без доплат, випускається сам і перевипускається автоматично, зокрема wildcard, коли домен на наших серверах імен. Якщо цього досить, беріть його: це нормально. Платний сертифікат потрібен, коли: - бухгалтерії потрібні рахунок, договір і акт; - контрагент, банк чи тендер просять саме придбаний сертифікат; - потрібна гарантія центру сертифікації або печатка довіри на сторінці оплати. ## Підписка на 1 рік Платний сертифікат продається як підписка на 1 рік. Один випущений сертифікат діє обмежений строк (зараз до 200 днів, далі за правилами галузі менше), тому підписка виконується частинами: коли настає час наступної частини, ми перевипускаємо сертифікат на ваш самий ключ без доплати. Щоб нова частина потрапила на сайт без вашої участі, налаштуйте автоматичне оновлення: [Як працює автоматичне оновлення сертифіката](https://zrazu.com/docs/ssl-auto.md). Якщо у вас certbot, acme.sh, Caddy чи Kubernetes, є ще один шлях: [ACME-сервер ZRAZU](https://zrazu.com/docs/ssl-acme.md). ## Що далі 1. [Замовлення й активація сертифіката](https://zrazu.com/docs/ssl-order.md) 2. [Підтвердження домену](https://zrazu.com/docs/ssl-dcv.md) 3. [Файли сертифіката й установка](https://zrazu.com/docs/ssl-files.md) 4. [Перевипуск і відкликання](https://zrazu.com/docs/ssl-reissue.md) 5. [ACME для certbot і acme.sh](https://zrazu.com/docs/ssl-acme.md) ## Якщо не вийшло - **«Сертифікати SSL ще не продаються».** Замовлення тимчасово закрито. Перевірте пізніше або напишіть у підтримку. - **Нема кнопки замовлення.** Замовляти може власник, адміністратор або бухгалтер організації. Перегляд сертифікатів доступний ролі з правом перегляду доменів. - **Потрібні інші імена в уже виданому сертифікаті.** Склад імен після випуску не змінюється: замовте новий сертифікат. --- # Замовлення й активація сертифіката URL: https://zrazu.com/docs/ssl-order/ Замовити сертифікат може власник, адміністратор або бухгалтер організації. Оплатити можна з балансу, карткою або рахунком на IBAN — так само, як будь-яке інше замовлення. Закритий ключ ми ніколи не отримуємо: нам потрібен лише CSR, тобто запит на сертифікат. Ключ лишається у вас. ## Що таке CSR і де його взяти CSR — це текстовий запит, що починається з `-----BEGIN CERTIFICATE REQUEST-----`. Його створюють разом із закритим ключем. Є два шляхи. **Створити в кабінеті.** У формі замовлення розділ «Немає CSR? Створимо тут». Оберіть тип ключа: RSA («будь-який сервер») або EC («менший і швидший, сучасні сервери»), натисніть «Створити ключ і CSR». Ключ і запит створюються у вашому браузері й не потрапляють до нас. Обов’язково натисніть «Завантажити закритий ключ» і збережіть файл: без нього сертифікат не встановити, а відновити ключ ми не зможемо. **Створити на сервері.** Наприклад, командою openssl: ``` openssl req -new -newkey rsa:2048 -nodes -keyout kava.key -out kava.csr -subj "/CN=kava.com.ua" ``` Файл `kava.key` залишається у вас, вміст `kava.csr` вставляєте у форму. Вимоги до CSR: ключ RSA від 2048 біт або EC P-256 чи P-384; в запиті має бути ваш домен; у ньому лише імена доменів (без IP, пошти та посилань). ## Як замовити 1. У кабінеті відкрийте «SSL-сертифікати» і натисніть «Замовити SSL» ([кабінет](https://vse.zrazu.com/ssl/new/)). 2. Оберіть платника: «ТОВ, з ПДВ» або «ФОП, без ПДВ». 3. Оберіть сертифікат. Ціну на рік форма покаже одразу. 4. Вкажіть домен, наприклад `kava.com.ua`. Адреса з `www.` входить автоматично. 5. Якщо це Multi-domain, додайте інші імена по одному в рядку. Форма покаже, скільки імен у ціні та скільки можна докупити. Wildcard-імена (`*.домен`) доступні не в кожному сертифікаті. 6. Оберіть, як підтвердити домен. Докладно: [Підтвердження домену](https://zrazu.com/docs/ssl-dcv.md). 7. Вставте CSR або створіть його тут. 8. Натисніть «Перейти до оплати» й оберіть спосіб: з балансу, карткою або рахунок на оплату (IBAN). Для рахунку оберіть платника — компанію чи ФОП, на яку його виписати. Рахунок на переказ оплачує замовлення сам, щойно банк проведе гроші. Після оплати лишається підтвердити домен. Сертифікат з’явиться в картці, а про випуск ми напишемо листом. ## Оплатити зараз, активувати пізніше Деякі замовлення спершу оплачуються без домену. Вони стоять у списку зі статусом «Чекає активації» і з датою «Активувати до …». 1. У списку сертифікатів натисніть «Активувати». 2. Домен і імена сертифіката вже оплачено, змінити їх тут не можна. Створіть або вставте CSR і оберіть спосіб підтвердження. 3. Натисніть «Активувати». Рік сертифіката відлічується від активації. Платити ще раз не потрібно. Якщо передумали, до активації можна відмовитися й отримати суму назад: на баланс або, на вашу вимогу, на картку. Якщо строк активації минув, напишіть нам, і ми повернемо суму. ## Кілька сертифікатів одним замовленням Якщо доменів багато, замовте до 50 сертифікатів разом: по одному на кожен домен, під одним номером замовлення. Для кожного домену потрібен свій CSR. Кнопка «Перевірити CAA» заздалегідь покаже, чи не забороняє запис CAA вашого домену випуск нашим центром сертифікації. Оплата всієї пачки — одним замовленням, будь-яким способом. ## Якщо не вийшло - **«Це закритий ключ, а не CSR».** Ви вставили ключ. Ключ нікому не надсилайте, потрібен лише текст CSR. - **«Це не схоже на CSR».** Скопіюйте весь текст разом із рядками BEGIN і END. - **«CSR зроблено не для …».** Домен у запиті не збігається з доменом замовлення. Створіть CSR заново. - **«Ключ RSA коротший за 2048 біт».** Створіть ключ довшим. - **«Забагато імен для цього сертифіката».** Приберіть зайві імена або оберіть інший сертифікат. - **Wildcard і файл на сайті.** Wildcard-ім’я не підтверджується файлом: оберіть запис DNS або лист. - **«Забагато замовлень».** Є ліміт замовлень на годину. Спробуйте пізніше. - **Центр не прийняв замовлення.** Гроші повертаємо на баланс; причина вказана в картці. - **Домен не підтвердили за 25 днів.** Замовлення закривається, а оплату повертаємо. --- # Підтвердження домену для сертифіката URL: https://zrazu.com/docs/ssl-dcv/ Перш ніж видати сертифікат, центр сертифікації перевіряє, що домен справді ваш. Це називається DCV. Вибрати спосіб треба під час замовлення, а потім його можна змінити в картці сертифіката. Для Multi-domain кожне ім’я підтверджується окремо, і спосіб можна обрати для кожного. ## Три способи | Спосіб | Що зробити | Коли підходить | | --- | --- | --- | | Запис DNS | Додати запис (TXT або CNAME) там, де ви керуєте DNS домену | Найнадійніший. Сайт не потрібен, підходить і для wildcard | | Файл на сайті | Покласти невеликий текстовий файл за адресою, яку покаже кабінет (http або https) | Є робочий сайт і доступ до його файлів. Для wildcard не годиться | | Лист | Відкрити посилання з листа від центру | Нічого ставити не треба, але в домену має бути пошта (MX) | Для листа центр використовує одну зі стандартних адрес домену: `admin@`, `administrator@`, `webmaster@`, `hostmaster@` або `postmaster@`. Кабінет дозволяє вибрати ящик на самому імені або на домені вище, але не на зоні на кшталт `com.ua`. ## Підтвердження запису DNS 1. Відкрийте картку сертифіката: [кабінет](https://vse.zrazu.com/ssl/). У блоці «Підтвердіть домен» кабінет покаже тип, ім’я та значення запису. 2. Додайте цей запис у DNS домену там, де ви ним керуєте: у ZRAZU, у Cloudflare чи в іншого провайдера. 3. Натисніть «Перевірити зараз». Центр також перевіряє сам, а картка оновлюється за хвилину-дві. Дані для перевірки з’являються не одразу: центр готує їх кілька хвилин, сторінка оновиться сама. Кнопка «Перевірити зараз» працює не частіше разу на хвилину. Після випуску не видаляйте запис чи файл: із ними наступні частини підписки випускатимуться самі. ## Домен на DNS ZRAZU або в Cloudflare Якщо домен на наших серверах імен, кабінет пропонує «Додати запис автоматично». Ми додамо в зону лише запис перевірки та одразу попросимо центр перевірити домен. Інші записи не змінюються. Те саме для домену в вашому Cloudflare, якщо ключ Cloudflare з правом змінювати DNS додано в розділі «Команда → Cloudflare». Ми поставимо лише запис перевірки. Запис перевірки дозволяє випустити сертифікат на домен, тому кабінет може попросити повторно підтвердити вхід, а власникам організації надішле лист про додавання запису. ## Файл на сайті 1. У картці скопіюйте адресу файлу та його вміст або натисніть «Завантажити файл». 2. Покладіть файл на сайт точно за цією адресою. Вона має відкриватися без переадресації. 3. Натисніть «Перевірити зараз». ## Лист 1. Відкрийте лист від центру на обрану адресу домену. 2. Перейдіть за посиланням у листі й підтвердьте домен. Листа немає? Перевірте спам. У картці є кнопки «Надіслати ще раз» і «Змінити ящик чи спосіб»: лист можна надсилати не частіше разу на 2 хвилини, до 20 змін і листів на добу. ## Змінити спосіб Якщо обраний спосіб не підходить, у картці натисніть «Змінити спосіб», оберіть інший і «Застосувати». Ми передамо вибір центру, нові дані з’являться за хвилину-дві. ## Якщо не вийшло - **«Домен ще не підтверджено — перевіримо знову».** Записи DNS оновлюються не миттєво. Зачекайте і натисніть «Перевірити зараз» ще раз. - **«Центр щойно питали — спробуйте за хвилину».** Це ліміт перевірок: один запит на хвилину. - **Cloudflare: «зони цього домену немає в акаунті ключа».** Поставте запис вручну або додайте домен до акаунта ключа. - **Cloudflare: ключу бракує права змінювати DNS.** Оновіть ключ або поставте запис вручну. - **CAA не дозволяє центру.** У домену є запис CAA без нашого центру сертифікації. Додайте в CAA дозвіл для нашого центру або приберіть обмеження. У пакетному замовленні кнопка «Перевірити CAA» показує це заздалегідь. - **У домену немає пошти.** Для способу «лист» потрібен MX. Оберіть DNS або файл. - **Не підтвердили за 25 днів.** Замовлення закривається, а оплату повертаємо на баланс. --- # Файли сертифіката й установка на сервер URL: https://zrazu.com/docs/ssl-files/ Коли сертифікат випущено, його файли доступні в картці. Закритого ключа в нас немає, тому на сервер ставлять два файли: сертифікат від нас і ваш ключ, створений разом із CSR. ## Які файли є Відкрийте картку сертифіката, розділ «Встановлення» або «Файли сертифіката» ([кабінет](https://vse.zrazu.com/ssl/)). Файли можуть завантажувати всі ролі організації. | Файл | Що в ньому | Куди | | --- | --- | --- | | fullchain.pem | Ваш сертифікат разом із проміжними | nginx, Apache 2.4.8+, HAProxy, Caddy | | cert.pem | Лише ваш сертифікат | Якщо ланцюжок задається окремо | | chain.pem | Лише проміжні сертифікати (CA Bundle) | Якщо ланцюжок задається окремо | | Архів з інструкцією | Усі три файли та коротка пам’ятка | Коли хочете забрати все разом | | PFX | Сертифікат, ланцюжок і ваш ключ в одному файлі | IIS і Windows | Усі файли мають формат PEM, тобто це звичайний текст. Якщо програма просить «ланцюжок» чи «CA Bundle», це `chain.pem`. Дата випуску входить в ім’я файла, тож нові версії не затирають попередні. ## PFX для IIS і Windows PFX збирається прямо в браузері, ключ нікуди не відправляється. 1. У блоці «PFX для IIS і Windows» оберіть файл свого закритого ключа (`.key` або `.pem`, до 64 КБ). 2. Задайте пароль PFX щонайменше з 8 знаків і повторіть його. 3. Натисніть «Зібрати PFX» і збережіть файл. Сучасний шифр (AES-256) читають Windows Server 2019+, IIS 10, Java та OpenSSL. Windows Server 2016 і старіші, а також «Зв’язка ключів» macOS його не прочитають. Для них зберіть PFX на своєму комп’ютері: ``` openssl pkcs12 -export -legacy -inkey kava.key -in cert.pem -certfile chain.pem -out kava.pfx ``` ## Установка і оновлення 1. Покладіть `fullchain.pem` і свій закритий ключ на сервер. 2. Вкажіть їх у налаштуваннях веб-сервера і перезапустіть його. 3. Перевірте сайт: [https://zrazu.com/tools/ssl/example.com/](https://zrazu.com/tools/ssl/example.com/) покаже, який сертифікат віддає сайт і до якої дати він діє. У картці також видно, чи віддає сайт саме цей сертифікат. Сертифікат за підпискою оновлюється частинами. Щоб новий файл не копіювати вручну, налаштуйте автоматичне оновлення за своїм хостингом: [Як працює автоматичне оновлення сертифіката](https://zrazu.com/docs/ssl-auto.md). Якщо вам зручніше certbot чи acme.sh, див. [ACME для certbot і acme.sh](https://zrazu.com/docs/ssl-acme.md). ## Якщо не вийшло - **«Сертифікат ще не випущено».** Файли з’являться після підтвердження домену. Див. [Підтвердження домену](https://zrazu.com/docs/ssl-dcv.md). - **«Не вдалося отримати файли сертифіката».** Оновіть сторінку. - **PFX: «Це не закритий ключ у PEM».** Потрібен файл, що починається з `-----BEGIN PRIVATE KEY-----` (або RSA/EC PRIVATE KEY). - **PFX: ключ під паролем.** Зніміть пароль на своєму комп’ютері: `openssl pkey -in key.pem -out open.key`, потім оберіть новий файл. - **PFX: «Цей ключ від іншого сертифіката».** Потрібен ключ, з яким робили CSR саме для цього замовлення. - **Браузер не дає шифрування (WebCrypto).** Відкрийте кабінет у свіжому Chrome, Firefox чи Safari. - **Сайт віддає старий сертифікат.** Новий файл не підхопився: перезапустіть веб-сервер або перевірте задачу автоматичного оновлення. --- # Перевипуск і відкликання сертифіката URL: https://zrazu.com/docs/ssl-reissue/ Перевипуск потрібен, коли треба новий ключ: ключ витік, сервер переїхав або ви загубили файл ключа. Відкликання потрібне, коли сертифікату більше не можна довіряти. Хто що може в картці сертифіката: завантажувати файли можуть усі ролі організації, перевипускати власник, адміністратор і технік. Відкликати можуть власник і адміністратор. ## Планові оновлення Платити за них не треба. Підписка на 1 рік виконується частинами, і кожну нову частину ми випускаємо самі. Вона виходить на той самий ключ, тому достатньо, щоб ваш сервер забирав новий сертифікат: [автоматичне оновлення](https://zrazu.com/docs/ssl-auto.md). ## Перевипуск із новим CSR Строк і гроші ті самі, домен підтверджується знову. Попередня версія діє, доки її не відкличете. 1. Створіть новий ключ і CSR: на сервері або в кабінеті ([Замовлення й активація](https://zrazu.com/docs/ssl-order.md)). CSR має бути для того самого домену та тих самих імен. 2. Відкрийте картку сертифіката: [кабінет](https://vse.zrazu.com/ssl/). Перейдіть на вкладку «Ключ і CSR». 3. У блоці «Перевипустити з новим CSR» вставте CSR й оберіть спосіб підтвердження домену. 4. Натисніть «Перевипустити». Кабінет може попросити повторно підтвердити вхід. 5. Підтвердіть домен ([Підтвердження домену](https://zrazu.com/docs/ssl-dcv.md)). Нова версія з’явиться у списку «Версії». 6. Встановіть нові файли на сервер, а потім, якщо старий ключ скомпрометований, відкличте попередню версію. Про перевипуск ми надсилаємо лист власникам організації. Склад імен під час перевипуску не змінюється: потрібні інші імена, замовте новий сертифікат. ## Відкликання Відкликання не скасувати: браузери перестануть довіряти цій версії. Відкликайте, якщо ключ витік або сертифікат більше не потрібен. 1. У картці відкрийте вкладку «Відкликання». 2. Оберіть версію й причину. 3. Введіть ім’я домену, щоб підтвердити, і натисніть «Відкликати». Якщо ключ витік, спершу перевипустіть сертифікат із новим ключем, встановіть його на сервер, а тоді відкличте стару версію. Інакше сайт на якийсь час лишиться без чинного сертифіката. Власникам надійде лист про відкликання. ## Повернення грошей Гроші повертаються повністю лише поки сертифікат не випущено: якщо центр відмовив або домен не підтвердили за 25 днів, ми повертаємо суму на баланс самі. Після випуску повернення немає. ## Якщо не вийшло - **«Ваша роль цього не дозволяє».** Попросіть власника чи адміністратора організації. - **«CSR зроблено не для …».** Імена в новому CSR мають збігатися з іменами сертифіката. - **«Це закритий ключ, а не CSR».** Вставте текст запиту, а не ключ. - **Перевипуск не вдався.** Причину видно в журналі картки («Що відбувалось»). Спробуйте ще раз або напишіть у підтримку. - **«Забагато замовлень».** Є ліміт на годину, спробуйте пізніше. - **Чинних версій немає.** Відкликати нічого: сертифікат не випущено або вже відкликано. --- # ACME для certbot, acme.sh і Caddy URL: https://zrazu.com/docs/ssl-acme/ ACME — це протокол, яким certbot, acme.sh, lego, Caddy, Traefik і cert-manager самі випускають і продовжують сертифікати. У ZRAZU є два способи використати його. Обидва налаштовуються в кабінеті: «SSL-сертифікати» → «ACME для certbot» ([кабінет](https://vse.zrazu.com/ssl/acme/)). Створювати записи можуть власник, адміністратор і технік. | Що потрібно | Який спосіб | | --- | --- | | Платний сертифікат з підписки ZRAZU, що оновлюється сам | ACME-сервер ZRAZU | | Безкоштовний Let’s Encrypt, особливо wildcard | acme-dns | | Свій хостинг без certbot | [Посилання для сервера](https://zrazu.com/docs/ssl-auto.md) | Закритий ключ в обох випадках лишається на вашому сервері. ## ACME-сервер ZRAZU Це наш сервер сертифікатів для платної підписки. Адреса (Directory): `https://api.zrazu.com/acme/directory`. Клієнт реєструється на ньому через прив’язку EAB. 1. У блоці «Свій ACME-сервер для платних сертифікатів» введіть назву прив’язки, наприклад ім’я сервера, і натисніть «Створити». 2. Збережіть показані Directory, `kid` і ключ HMAC. Ключ показується один раз, його ніхто не відновить. 3. У майстрі «Налаштування під ваш сервер» оберіть програму (nginx з certbot, acme.sh, Caddy, Traefik, Kubernetes cert-manager, win-acme для IIS) і домен. Кабінет покаже готові команди. 4. Зареєструйте клієнт протягом 7 днів, інакше прив’язка втратить чинність. Для certbot це виглядає так: ``` certbot register --server https://api.zrazu.com/acme/directory \ --eab-kid --eab-hmac-key <ключ HMAC> --agree-tos -m you@example.com ``` Прив’язка буває особиста (діє, поки ви в організації та можете перевипускати сертифікати) і організації (для сервера, що переживе зміни в команді; створюють власник і адміністратор). Вимкнути прив’язку можна в списку: випущені сертифікати лишаються. Як ACME-сервер поводиться: - Спершу шукає оплачену чинну підписку, імена якої покривають замовлення. Перевипуск у межах підписки без доплати. - Першу видачу підписки треба зробити в кабінеті: перевипускати ще нічого, а купувати двічі не можна. - Якщо підписки немає, certbot може купити сертифікат із балансу, але лише коли ви ввімкнули «Купувати нові сертифікати з балансу» в прив’язці та коштів вистачає. У борг ніколи. Про кожну купівлю ми пишемо власникам. - Домен має бути на наших серверах імен: запис перевірки ми ставимо в зоні самі. Видача займає до кількох хвилин. - Відкликання через ACME можливе лише з причиною keyCompromise та підписом ключем самого сертифіката. В інших випадках відкликайте в кабінеті ([Перевипуск і відкликання](https://zrazu.com/docs/ssl-reissue.md)). Про кожен перевипуск, купівлю й відкликання ми надсилаємо лист власникам. ## acme-dns: безкоштовні сертифікати через DNS Підходить для Let’s Encrypt через certbot, acme.sh, lego і Caddy зі звичайним плагіном acme-dns. Один запис покриває і домен, і `*.домен`, тож це шлях для wildcard. Ключа від усієї зони не потрібно. 1. У блоці «Новий обліковий запис» введіть домен. За бажання вкажіть дозволені IP-адреси чи мережі через кому. 2. Натисніть «Створити» і збережіть пароль. Його показують один раз. 3. Додайте CNAME `_acme-challenge.домен`, що веде в зону ZRAZU. Якщо домен на наших серверах імен або у вашому Cloudflare з ключем на правки, натисніть «Додати CNAME» (чи «Поставити CNAME у Cloudflare»). В іншому випадку додайте запис у свого DNS-провайдера. 4. Скопіюйте з кабінету файл `acmedns.json` або команди для вашого клієнта й випустіть сертифікат. Пароль уміє тільки ставити TXT-перевірку для свого імені. Змінити зону, домен чи баланс він не може. Запис без жодного оновлення за 30 днів або без оновлень понад рік ми видаляємо самі разом зі своїм CNAME. Якщо домен за проксі Cloudflare (помаранчева хмарка), відвідувач бачить сертифікат Cloudflare, а ваш сертифікат потрібен для сервера сайту (режим Full strict). ## Якщо не вийшло - **ACME на цьому середовищі вимкнено.** У кабінеті такий напис, якщо функція тимчасово недоступна. Напишіть у підтримку. - **«дочекайтеся першого випуску».** Підписку ще не випускали: зробіть перший випуск у кабінеті. - **Видача зависла.** Перевірте, що домен на серверах імен ZRAZU. - **Купівля не спрацювала.** Перевірте, що купівлю ввімкнено в прив’язці, на балансі вистачає коштів, а у власника прив’язки є право оплати. - **Прив’язка «минула, не використана».** Ключ HMAC діє 7 днів: створіть нову прив’язку. - **Wildcard через HTTP не вийде.** Для `*.` використайте перевірку DNS-01 і acme-dns: для acme.sh це `--dns dns_acmedns`. - **Пароль acme-dns загубили.** Видаліть обліковий запис і створіть новий. --- # Як працює автоматичне оновлення сертифіката URL: https://zrazu.com/docs/ssl-auto/ Сертифікат за підпискою ZRAZU випускається частинами: кожна частина діє обмежений строк (зараз до 200 днів, далі за правилами галузі — менше). Коли настає час наступної частини, ми випускаємо її самі. Щоб новий сертифікат опинився на сайті без вашої участі, його має забрати ваш сервер, хостинг чи хмара — за розкладом, раз на добу. ## Що для цього є - **Особисте посилання на сертифікат.** У кабінеті, у картці сертифіката, розділ «Встановлення» → «Посилання для сервера». За ним завжди лежить чинний сертифікат підписки: `https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН/fullchain.pem` (сертифікат разом із проміжними), `https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН/cert.pem` і `https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН/chain.pem` окремо. - **Ваш закритий ключ лишається у вас.** Наступні частини підписки випускаються на той самий ключ, тому ключ кладете один раз, а далі оновлюється лише публічний сертифікат. Посилання ключа не віддає і не приймає. - **Задача за розкладом на вашому боці.** Скрипт раз на добу забирає сертифікат за посиланням і, якщо він новий, ставить його. Скрипти — у кожній інструкції нижче. Ми не просимо паролів від хостингу, ключів від хмари чи закритого ключа сертифіката: ставить сертифікат ваш сервер, а не ми. ## Оберіть свій випадок | Де працює сайт | Чи оновлюється сам | Інструкція | | --- | --- | --- | | Свій сервер Linux (nginx, Apache, Caddy, HAProxy, Docker) | так | [Сервер Linux](https://zrazu.com/docs/ssl-auto-linux.md) | | Windows Server з IIS | так | [Windows і IIS](https://zrazu.com/docs/ssl-auto-windows-iis.md) | | Kubernetes | так | [Kubernetes](https://zrazu.com/docs/ssl-auto-kubernetes.md) | | Хостинг із cPanel (Hostiq, Hostpro, Ukrnames, GoDaddy, Namecheap…) | так | [cPanel](https://zrazu.com/docs/ssl-auto-cpanel.md) | | AWS: балансувальник, CloudFront, API Gateway | так | [AWS](https://zrazu.com/docs/ssl-auto-aws.md) | | Azure: Application Gateway, App Service, Front Door | так | [Azure](https://zrazu.com/docs/ssl-auto-azure.md) | | Google Cloud: балансувальник із Certificate Manager | так | [Google Cloud](https://zrazu.com/docs/ssl-auto-gcp.md) | | Cloudflare перед сайтом | залежить від тарифу | [Cloudflare](https://zrazu.com/docs/ssl-auto-cloudflare.md) | | Хостинг з панеллю без API: hosting.ua (adm.tools), Cityhost, Mirohost, ISPmanager, Plesk, DirectAdmin, Hostinger, Hetzner | вручну, ми нагадаємо | [Панелі хостингу](https://zrazu.com/docs/ssl-auto-panels-manual.md) | | Конструктор сайтів: Tilda, Wix, Shopify, Prom, Horoshop… | наш сертифікат там не потрібен | [Конструктори](https://zrazu.com/docs/ssl-auto-site-builders.md) | Не знаєте, що у вас? Відкрийте будь-яку інструкцію і скопіюйте промт для ШІ: він спитає про ваш хостинг і поведе далі. ## Як переконатися, що все працює - У картці сертифіката біля посилання видно, коли ваш сервер востаннє забирав сертифікат і чи забрав він чинний. - Перевірка сайту: [https://zrazu.com/tools/ssl/example.com/](https://zrazu.com/tools/ssl/example.com/) показує, який сертифікат віддає сайт і до якої дати він діє. - Після кожної нової частини ми надсилаємо лист. Якщо за кілька днів сайт усе ще віддає старий сертифікат, отже задача на сервері не спрацювала: відкрийте журнал задачі (у кожній інструкції сказано, де він). ## Безпека посилання - Посилання віддає лише публічний сертифікат — той самий, що сайт показує кожному відвідувачу. Та все ж не публікуйте його: хто має посилання, той бачить, коли ваш сервер його забирає. - Посилання показуємо один раз, у базі зберігаємо лише його відбиток. Загубили чи засвітили — у картці «Нове посилання»: старе одразу перестане працювати, у скрипті замініть адресу. - Посилання діє до кінця підписки. Невідоме, вимкнене чи прострочене посилання відповідає однаково — «не знайдено» (404). --- # Сервер Linux — nginx, Apache, Caddy, HAProxy, Docker URL: https://zrazu.com/docs/ssl-auto-linux/ Підходить, якщо у вас є доступ до сервера по SSH і права root (VPS, виділений сервер, свій комп'ютер у стійці). Потрібні `curl` і `openssl` — вони є майже в кожному Linux. ## Що знадобиться - Посилання на сертифікат із кабінету: `https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН`. - Закритий ключ, з яким замовляли сертифікат (файл `key.pem` чи схожий). Якщо CSR створював кабінет ZRAZU — це файл, який ви тоді зберегли. - 10 хвилин. ## Крок 1. Покладіть ключ на сервер ```sh sudo mkdir -p /etc/ssl/zrazu/example.com sudo chmod 700 /etc/ssl/zrazu/example.com sudo nano /etc/ssl/zrazu/example.com/key.pem sudo chmod 600 /etc/ssl/zrazu/example.com/key.pem ``` У `nano` вставте весь текст ключа разом із рядками `-----BEGIN … PRIVATE KEY-----` і `-----END … PRIVATE KEY-----`, збережіть (Ctrl+O, Enter) і вийдіть (Ctrl+X). Ключ без пароля: якщо ваш ключ запаролений, зніміть пароль командою `openssl pkey -in старий.key -out /etc/ssl/zrazu/example.com/key.pem`. ## Крок 2. Скрипт оновлення Створіть файл `sudo nano /usr/local/bin/zrazu-ssl-example.com.sh`, вставте текст нижче і змініть лише рядок `RELOAD` під свій вебсервер: - nginx — `nginx -t && systemctl reload nginx` (так стоїть); - Apache (Debian, Ubuntu) — `apachectl configtest && systemctl reload apache2`; Apache (CentOS, Rocky, Alma) — `apachectl configtest && systemctl reload httpd`; - Caddy — `systemctl reload caddy`; - HAProxy — `systemctl reload haproxy` і `COMBINED=1` (HAProxy читає сертифікат і ключ одним файлом `combined.pem`); - nginx у Docker — `docker exec НАЗВА_КОНТЕЙНЕРА nginx -s reload` (каталог `/etc/ssl/zrazu` підключіть у контейнер як том). ```sh file=zrazu-ssl-update.sh #!/bin/sh # ZRAZU: оновлення SSL-сертифіката за особистим посиланням. Запускається cron раз на добу. set -eu # cron дає короткий PATH без /usr/sbin, а nginx і apachectl лежать саме там. PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PULL="https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН" DIR="/etc/ssl/zrazu/example.com" KEY="$DIR/key.pem" RELOAD="nginx -t && systemctl reload nginx" COMBINED=0 umask 077 tmp=$(mktemp "$DIR/.new.XXXXXX") trap 'rm -f "$tmp"' EXIT curl -fsS --retry 3 --max-time 60 -o "$tmp" "$PULL/fullchain.pem" grep -q "BEGIN CERTIFICATE" "$tmp" || { echo "ZRAZU: за посиланням не сертифікат"; exit 1; } if [ -f "$DIR/.applied" ] && cmp -s "$tmp" "$DIR/.applied"; then echo "ZRAZU: сертифікат не змінився" exit 0 fi cert_pub=$(openssl x509 -in "$tmp" -noout -pubkey | openssl sha256) key_pub=$(openssl pkey -in "$KEY" -pubout | openssl sha256) if [ "$cert_pub" != "$key_pub" ]; then echo "ZRAZU: сертифікат випущено на інший ключ — нічого не міняю, покладіть новий ключ у $KEY" exit 1 fi openssl x509 -in "$tmp" -noout -checkend 0 >/dev/null || { echo "ZRAZU: сертифікат уже не діє"; exit 1; } chmod 644 "$tmp" mv -f "$tmp" "$DIR/fullchain.pem" if [ "$COMBINED" = 1 ]; then cat "$DIR/fullchain.pem" "$KEY" > "$DIR/combined.pem.new" mv -f "$DIR/combined.pem.new" "$DIR/combined.pem" fi sh -c "$RELOAD" cp "$DIR/fullchain.pem" "$DIR/.applied" echo "ZRAZU: новий сертифікат встановлено, діє до $(openssl x509 -in "$DIR/fullchain.pem" -noout -enddate | cut -d= -f2)" ``` Скрипт нічого не міняє, якщо вебсервер уже працює з цим сертифікатом, якщо файл за посиланням не сертифікат, якщо сертифікат не підходить до вашого ключа чи вже не діє. Конфігурацію вебсервера він перевіряє перед перезапуском, тож зламаний конфіг сайт не покладе; а якщо перезапуск не вдався, наступного дня скрипт спробує ще раз. Зробіть файл виконуваним і запустіть один раз руками: ```sh sudo chmod 700 /usr/local/bin/zrazu-ssl-example.com.sh sudo /usr/local/bin/zrazu-ssl-example.com.sh ``` Має з'явитися «новий сертифікат встановлено» і файл `/etc/ssl/zrazu/example.com/fullchain.pem`. ## Крок 3. Вкажіть файли у вебсервері (один раз) nginx — у блоці `server` сайту: ```nginx ssl_certificate /etc/ssl/zrazu/example.com/fullchain.pem; ssl_certificate_key /etc/ssl/zrazu/example.com/key.pem; ``` Apache 2.4.8 і новіший — у ``: ```apache SSLCertificateFile /etc/ssl/zrazu/example.com/fullchain.pem SSLCertificateKeyFile /etc/ssl/zrazu/example.com/key.pem ``` Caddy — у блоці сайту `tls /etc/ssl/zrazu/example.com/fullchain.pem /etc/ssl/zrazu/example.com/key.pem`. HAProxy — у `bind :443 ssl crt /etc/ssl/zrazu/example.com/combined.pem`. Перевірте конфіг (`nginx -t` чи `apachectl configtest`) і перезапустіть вебсервер. ## Крок 4. Розклад ```sh echo "17 4 * * * root /usr/local/bin/zrazu-ssl-example.com.sh >> /var/log/zrazu-ssl.log 2>&1" | sudo tee /etc/cron.d/zrazu-ssl-example.com ``` Скрипт запускатиметься щодня о 04:17 за часом сервера. Хвилину можна взяти будь-яку — краще не рівно 00. ## Перевірка 1. `sudo tail /var/log/zrazu-ssl.log` — завтра там з'явиться «сертифікат не змінився»: розклад працює. 2. Сайт віддає наш сертифікат: `echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -issuer -enddate` або сторінка [https://zrazu.com/tools/ssl/example.com/](https://zrazu.com/tools/ssl/example.com/). 3. У кабінеті, у картці сертифіката, видно, що сервер забрав чинний сертифікат. ## Якщо не вийшло - `curl: (22) … 404` — посилання вимкнене чи замінене. У картці сертифіката створіть нове і замініть рядок `PULL` у скрипті. - `curl: (22) … 429` — забагато запитів (понад 60 на годину). Раз на добу — з великим запасом. - «сертифікат випущено на інший ключ» — сертифікат перевипускали з новим ключем. Покладіть новий ключ у `key.pem` і запустіть скрипт ще раз. - `nginx: [emerg]` після перезапуску — помилка в конфігурації сайту, не в сертифікаті; старий сертифікат лишається в роботі, доки помилку не виправите. --- # Windows Server і IIS URL: https://zrazu.com/docs/ssl-auto-windows-iis/ Підходить для сайту на IIS (Windows Server 2016 і новіші), якщо сертифікат уже стоїть на сервері — тобто закритий ключ лежить у сховищі сертифікатів Windows. Так буває, коли CSR створювали в IIS («Create Certificate Request») або колись імпортували PFX. Як це працює: скрипт PowerShell забирає новий сертифікат за посиланням, кладе його в сховище комп'ютера і зв'язує з ключем, що вже там є (`certutil -repairstore`). Якщо ключа до нового сертифіката на сервері немає, скрипт нічого не міняє. Далі він прив'язує новий сертифікат до всіх HTTPS-прив'язок сайту в IIS. ## Що знадобиться - Посилання на сертифікат із кабінету: `https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН`. - Вхід на сервер з правами адміністратора. - Назва сайту в IIS (як у **IIS Manager → Sites**), наприклад `Default Web Site`. ## Крок 1. Перше встановлення (якщо сертифікат ще не стоїть) Якщо CSR створювали в IIS: **IIS Manager → сервер → Server Certificates → Complete Certificate Request** → файл `cert.pem` із `https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН/cert.pem`. Якщо ключ у вас файлом — зберіть PFX у кабінеті (картка сертифіката → «Файли» → PFX) і імпортуйте: **Server Certificates → Import**. Потім **Sites → сайт → Bindings → https → SSL certificate**. ## Крок 2. Скрипт Відкрийте **PowerShell від імені адміністратора** і створіть файл: ```powershell New-Item -ItemType Directory -Force -Path "$env:ProgramFiles\ZRAZU" | Out-Null notepad "$env:ProgramFiles\ZRAZU\zrazu-ssl.ps1" ``` У Блокнот вставте текст нижче, у рядку `$Site` вкажіть назву свого сайту в IIS, збережіть. ```powershell file=zrazu-iis-update.ps1 # ZRAZU: оновлення SSL-сертифіката в IIS за особистим посиланням. Запускається Планувальником раз на добу. $ErrorActionPreference = "Stop" $Url = "https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН" $Site = "Default Web Site" $Dir = Join-Path $env:ProgramFiles "ZRAZU" $CertFile = Join-Path $Dir "cert.cer" $ChainFile = Join-Path $Dir "chain.cer" Invoke-WebRequest -Uri "$Url/cert.pem" -OutFile $CertFile -UseBasicParsing Invoke-WebRequest -Uri "$Url/chain.pem" -OutFile $ChainFile -UseBasicParsing $New = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($CertFile) # Уже імпортований — не імпортуємо вдруге, але прив'язку перевіряємо: учора імпорт міг пройти, а прив'язка — ні. $Have = Test-Path "Cert:\LocalMachine\My\$($New.Thumbprint)" if (-not $Have) { Import-Certificate -FilePath $ChainFile -CertStoreLocation Cert:\LocalMachine\CA | Out-Null Import-Certificate -FilePath $CertFile -CertStoreLocation Cert:\LocalMachine\My | Out-Null certutil -repairstore my $New.Thumbprint | Out-Null } $Mine = Get-Item "Cert:\LocalMachine\My\$($New.Thumbprint)" if (-not $Mine.HasPrivateKey) { if (-not $Have) { Remove-Item $Mine.PSPath } throw "ZRAZU: ключа до цього сертифіката на сервері немає — сертифікат не замінено" } Import-Module WebAdministration foreach ($Binding in Get-WebBinding -Name $Site -Protocol https) { if ($Binding.certificateHash -ne $New.Thumbprint) { $Binding.AddSslCertificate($New.Thumbprint, "My") } } $Until = $New.NotAfter.ToString('yyyy-MM-dd') if ($Have) { "ZRAZU: сертифікат не змінився, діє до $Until" } else { "ZRAZU: новий сертифікат встановлено, діє до $Until" } ``` Запустіть один раз руками: ```powershell powershell -NoProfile -ExecutionPolicy Bypass -File "$env:ProgramFiles\ZRAZU\zrazu-ssl.ps1" ``` ## Крок 3. Розклад ```powershell schtasks /Create /F /SC DAILY /ST 04:17 /RU SYSTEM /TN "ZRAZU SSL" /TR "powershell -NoProfile -ExecutionPolicy Bypass -File \"C:\Program Files\ZRAZU\zrazu-ssl.ps1\"" ``` Завдання з'явиться в **Task Scheduler → Task Scheduler Library → ZRAZU SSL** і запускатиметься щодня о 04:17 від імені системи. ## Перевірка 1. Ручний запуск пише «новий сертифікат встановлено» або «сертифікат не змінився». 2. **IIS Manager → Sites → сайт → Bindings → https** — обрано сертифікат із новою датою. 3. Сайт: [https://zrazu.com/tools/ssl/example.com/](https://zrazu.com/tools/ssl/example.com/). 4. Результат щоденних запусків — **Task Scheduler → ZRAZU SSL → History** (стовпець **Last Run Result**: `0x0` — успіх). ## Якщо не вийшло - «ключа до цього сертифіката на сервері немає» — сертифікат випущено на ключ, якого немає на цьому сервері (перевипуск із новим ключем або CSR створювали деінде). Імпортуйте PFX із новим ключем (крок 1). - `running scripts is disabled` — запускайте саме так, як у кроках 2–3: з `-ExecutionPolicy Bypass`. - `(404) Not Found` — посилання вимкнене чи замінене: створіть нове в картці сертифіката й замініть `$Url`. - Сайт на IIS 8 / Windows Server 2012 — оновіть сервер: ця версія Windows більше не отримує оновлень безпеки. --- # Kubernetes — сертифікат у TLS-секреті оновлюється сам URL: https://zrazu.com/docs/ssl-auto-kubernetes/ Підходить, якщо сайт працює в Kubernetes за ingress (ingress-nginx, Traefik, HAProxy Ingress тощо) і сертифікат лежить у секреті типу `kubernetes.io/tls`. Ingress-контролери стежать за секретами самі: оновили секрет — за хвилину-дві сайт віддає новий сертифікат. Як це працює: CronJob раз на добу забирає сертифікат за посиланням, порівнює з тим, що в секреті, перевіряє, що він підходить до ключа з того самого секрету, і замінює лише `tls.crt`. Ключ нікуди не копіюється. Права задачі — читати й змінювати один секрет в одному namespace. ## Що знадобиться - Посилання на сертифікат із кабінету: `https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН`. - `kubectl` з доступом до namespace сайту. - Вихід із кластера в інтернет (до `api.zrazu.com` і до дзеркал Alpine Linux — образ ставить `curl`, `openssl` і `jq` при кожному запуску). ## Крок 1. TLS-секрет (якщо його ще немає) Завантажте `https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН/fullchain.pem` у файл `fullchain.pem` і створіть секрет зі своїм ключем: ```sh curl -fsS -o fullchain.pem "https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН/fullchain.pem" kubectl -n НАЗВА_NAMESPACE create secret tls zrazu-tls --cert=fullchain.pem --key=key.pem ``` В Ingress сайту вкажіть цей секрет: `spec.tls[].secretName: zrazu-tls`. ## Крок 2. CronJob Збережіть текст нижче у файл `zrazu-ssl.yaml`. Якщо секрет у вас називається інакше, замініть `zrazu-tls` (він трапляється двічі). ```yaml file=zrazu-ssl-k8s.yaml # ZRAZU: оновлення сертифіката в TLS-секреті за особистим посиланням. Запускається раз на добу. apiVersion: v1 kind: ServiceAccount metadata: name: zrazu-ssl --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: zrazu-ssl rules: - apiGroups: [""] resources: ["secrets"] resourceNames: ["zrazu-tls"] verbs: ["get", "patch"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: zrazu-ssl roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: zrazu-ssl subjects: - kind: ServiceAccount name: zrazu-ssl --- apiVersion: batch/v1 kind: CronJob metadata: name: zrazu-ssl spec: schedule: "17 4 * * *" concurrencyPolicy: Forbid jobTemplate: spec: backoffLimit: 2 template: spec: serviceAccountName: zrazu-ssl restartPolicy: Never containers: - name: update image: alpine:3.20 env: - name: PULL value: "https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН" - name: SECRET value: "zrazu-tls" command: ["/bin/sh", "-c"] args: - | set -eu apk add --no-cache curl openssl jq >/dev/null SA=/var/run/secrets/kubernetes.io/serviceaccount API="https://kubernetes.default.svc/api/v1/namespaces/$(cat $SA/namespace)/secrets/$SECRET" k() { curl -fsS --cacert "$SA/ca.crt" -H "Authorization: Bearer $(cat $SA/token)" "$@"; } cd /tmp curl -fsS --retry 3 --max-time 60 -o new.pem "$PULL/fullchain.pem" grep -q "BEGIN CERTIFICATE" new.pem || { echo "ZRAZU: not a certificate"; exit 1; } k "$API" > secret.json jq -r '.data["tls.crt"]' secret.json | base64 -d > current.pem if cmp -s new.pem current.pem; then echo "ZRAZU: unchanged"; exit 0; fi jq -r '.data["tls.key"]' secret.json | base64 -d > key.pem cert_pub=$(openssl x509 -in new.pem -noout -pubkey | openssl sha256) key_pub=$(openssl pkey -in key.pem -pubout | openssl sha256) rm -f key.pem [ "$cert_pub" = "$key_pub" ] || { echo "ZRAZU: certificate is for another key"; exit 1; } openssl x509 -in new.pem -noout -checkend 0 >/dev/null || { echo "ZRAZU: expired"; exit 1; } crt=$(base64 < new.pem | tr -d '\n') k -X PATCH -H "Content-Type: application/merge-patch+json" --data "{\"data\":{\"tls.crt\":\"$crt\"}}" "$API" >/dev/null echo "ZRAZU: updated, valid until $(openssl x509 -in new.pem -noout -enddate | cut -d= -f2)" ``` Застосуйте в namespace сайту: ```sh kubectl -n НАЗВА_NAMESPACE apply -f zrazu-ssl.yaml ``` ## Перевірка 1. Запустіть задачу один раз руками: `kubectl -n НАЗВА_NAMESPACE create job --from=cronjob/zrazu-ssl zrazu-ssl-test`. 2. Журнал: `kubectl -n НАЗВА_NAMESPACE logs job/zrazu-ssl-test` — «updated» або «unchanged». 3. Сайт: [https://zrazu.com/tools/ssl/example.com/](https://zrazu.com/tools/ssl/example.com/). 4. Приберіть пробну задачу: `kubectl -n НАЗВА_NAMESPACE delete job zrazu-ssl-test`. ## Якщо не вийшло - `403` у журналі — Role не на той секрет чи не в тому namespace: назва в `resourceNames` має збігатися з назвою секрету. - `apk: … network error` — кластер не має виходу в інтернет до дзеркал Alpine. Зберіть свій образ із `curl`, `openssl` і `jq` і приберіть рядок `apk add`. - «certificate is for another key» — сертифікат перевипускали з новим ключем: перестворіть секрет (крок 1) з новим ключем. - Секрет керує cert-manager — тоді ця інструкція не потрібна: cert-manager поновлює сертифікат сам через ACME-сервер ZRAZU (у кабінеті, «Встановлення» → ACME). --- # Хостинг із cPanel — сертифікат оновлюється сам URL: https://zrazu.com/docs/ssl-auto-cpanel/ Підходить для хостингу з панеллю cPanel: Hostiq, Hostpro, Ukrnames, GoDaddy, Namecheap, частина тарифів NIC.UA та багато інших. Ознака cPanel — у панелі є розділи «Files», «Security», «Advanced», а адреса входу часто закінчується на `:2083`. Доступ по SSH не потрібен, усе робиться мишею в панелі. Ваш закритий ключ зберігається в самій cPanel і в скрипт не потрапляє: cPanel сама підбирає до нового сертифіката ключ, з яким сертифікат ставили вперше. ## Що знадобиться - Посилання на сертифікат із кабінету: `https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН`. - У cPanel — пункт **Cron Jobs** у розділі «Advanced». Якщо його немає, тариф не дозволяє задач за розкладом: напишіть хостеру або перейдіть на [ручне оновлення](https://zrazu.com/docs/ssl-auto-panels-manual.md). - 10 хвилин. ## Крок 1. Перше встановлення (якщо сертифікат ще не стоїть) 1. Відкрийте **Security → SSL/TLS → Manage SSL sites**. 2. У полі **Domain** оберіть example.com. 3. **Certificate (CRT)** — вставте вміст `https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН/cert.pem` (відкрийте посилання в браузері і скопіюйте весь текст). 4. **Private Key (KEY)** — ваш закритий ключ. Якщо CSR створювали в цій cPanel, ключ підставиться сам після вставки сертифіката. 5. **Certificate Authority Bundle (CABUNDLE)** — вміст `https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН/chain.pem`. 6. Натисніть **Install Certificate**. Після цього ключ збережено в cPanel, і далі сертифікат оновлюватиметься без нього. ## Крок 2. Скрипт оновлення 1. Відкрийте **Files → File Manager**. Ви в домашній теці (зліва вгорі вибрано `/home/…`). **Не** заходьте в `public_html` — скрипт не має бути доступний із сайту. 2. **+ Folder** → назва `zrazu-ssl` → **Create New Folder**. Зайдіть у неї. 3. **+ File** → назва `update.sh` → **Create New File**. Виділіть файл → **Edit**, вставте текст нижче і натисніть **Save Changes**. ```sh file=zrazu-cpanel-update.sh #!/bin/sh # ZRAZU: оновлення SSL у cPanel за особистим посиланням. Запускається cron раз на добу. set -eu PULL="https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН" DOMAIN="example.com" UAPI=/usr/local/cpanel/bin/uapi cd "$HOME/zrazu-ssl" curl -fsS --retry 3 --max-time 60 -o cert.new "$PULL/cert.pem" curl -fsS --retry 3 --max-time 60 -o chain.new "$PULL/chain.pem" grep -q "BEGIN CERTIFICATE" cert.new || { echo "ZRAZU: за посиланням не сертифікат"; exit 1; } if [ -f cert.applied ] && cmp -s cert.new cert.applied; then echo "ZRAZU: сертифікат не змінився" rm -f cert.new chain.new exit 0 fi enc() { perl -0777 -pe 's/([^A-Za-z0-9_.~-])/sprintf("%%%02X", ord($1))/seg' "$1"; } out=$("$UAPI" --output=json SSL install_ssl domain="$DOMAIN" cert="$(enc cert.new)" cabundle="$(enc chain.new)") if printf '%s' "$out" | grep -Eq '"status" *: *1'; then mv -f cert.new cert.applied rm -f chain.new echo "ZRAZU: новий сертифікат встановлено" else echo "ZRAZU: cPanel не встановила сертифікат, відповідь:" printf '%s\n' "$out" exit 1 fi ``` 4. Виділіть `update.sh` → **Permissions** → поставте `700` → **Change Permissions**. ## Крок 3. Розклад 1. Відкрийте **Advanced → Cron Jobs**. 2. **Cron Email** можна вказати свою пошту — тоді про кожну помилку прийде лист. 3. У **Add New Cron Job** → **Common Settings** оберіть **Once Per Minute** (це лише для першої перевірки, у кроці 4 змінимо). 4. **Command**: ```sh /bin/sh $HOME/zrazu-ssl/update.sh >> $HOME/zrazu-ssl/log.txt 2>&1 ``` 5. **Add New Cron Job**. ## Крок 4. Перевірка 1. Зачекайте 2 хвилини і відкрийте у File Manager `zrazu-ssl/log.txt`. Має бути «новий сертифікат встановлено», а далі — «сертифікат не змінився». 2. Поверніться в **Cron Jobs**, у списку задач натисніть **Edit** і змініть **Common Settings** на **Once Per Day**. Збережіть. 3. Перевірте сайт: [https://zrazu.com/tools/ssl/example.com/](https://zrazu.com/tools/ssl/example.com/) — сертифікат ZRAZU і дата закінчення. ## Щоб хостинг не замінив наш сертифікат Багато хостингів на cPanel самі ставлять безкоштовний сертифікат (AutoSSL). Наш він за замовчуванням не чіпає, але якщо хостер це дозволив — відкрийте **Security → SSL/TLS Status**, позначте example.com і `www.example.com` і натисніть **Exclude Domains from AutoSSL**. ## Якщо не вийшло - У журналі `uapi: not found` чи `Permission denied` — хостинг закрив інструмент cPanel для скриптів. Тоді в **Security → Manage API Tokens** створіть токен, а в скрипті замініть рядок з `out=$(…)` на цей (ЛОГІН — ім'я входу в cPanel, СЕРВЕР — адреса, за якою ви заходите в cPanel, без `:2083`): ```sh out=$(curl -fsS -H "Authorization: cpanel ЛОГІН:ТОКЕН" "https://СЕРВЕР:2083/execute/SSL/install_ssl" --data-urlencode "domain=$DOMAIN" --data-urlencode "cert@cert.new" --data-urlencode "cabundle@chain.new") ``` - «cPanel не встановила сертифікат» і в відповіді про ключ (`private key`) — у cPanel немає ключа до цього сертифіката. Повторіть крок 1 зі своїм ключем. - `curl: (22) … 404` — посилання вимкнене чи замінене: створіть нове в картці сертифіката і замініть рядок `PULL`. --- # Панелі хостингу без автоматики — оновлення вручну URL: https://zrazu.com/docs/ssl-auto-panels-manual/ У цих панелей немає інструменту, яким скрипт на хостингу міг би сам поставити сертифікат (або він не описаний публічно). Тому новий сертифікат ставиться руками — 3–5 хвилин раз на кілька місяців. Ми надішлемо лист, щойно буде готова нова частина підписки, з посиланням на цю сторінку. ## Що вставляти Відкрийте в браузері своє посилання з кабінету й скопіюйте текст: - **Сертифікат (CRT)** — `https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН/cert.pem`; - **Ланцюжок / CA bundle / проміжні** — `https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН/chain.pem`; - якщо поле одне на все («сертифікат із ланцюжком», «fullchain») — `https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН/fullchain.pem`; - **Закритий ключ** — ваш ключ, той самий, що й минулого разу. Багато панелей пам'ятають його самі. ## Де це в панелі | Панель / хостинг | Шлях у меню | | --- | --- | | adm.tools (hosting.ua, ukraine.com.ua) | **Хостинг → Мої сайти → сайт → Налаштування SSL → «Ваш сертифікат»**. Сертифікат вставляйте з ланцюжком (`fullchain.pem`) або увімкніть «додати проміжні». Ключ — лише RSA. Зміни діють за 15–30 хвилин | | Cityhost (Hosting 2.0) | **SSL** → додати свій сертифікат → вставити сертифікат і ключ | | Mirohost | **Сервер → SSL-сертифікати → Імпорт сертифіката** | | ISPmanager (FreeHost, Tucha, Hostpro та ін.) | **SSL-сертифікати → Створити / Додати → Існуючий**: сертифікат, ключ, ланцюжок; потім у **Сайти / WWW-домени** оберіть цей сертифікат | | Plesk | **Сайти та домени → домен → SSL/TLS-сертифікати → Завантажити** (Upload) | | DirectAdmin (NIC.UA, Tucha та ін.) | **Account Manager → SSL Certificates → Paste a pre-generated certificate and key**; ланцюжок — **Click Here to paste a CA Root Certificate** | | Hostinger (hPanel) | **Websites → Manage → Security → SSL** → видалити поточний → **Import SSL** | | Hetzner (konsoleH) | **Services → SSL Manager → New Certificate → Import Certificate** (ключ без пароля, усе в PEM) | Після заміни перевірте сайт: [https://zrazu.com/tools/ssl/example.com/](https://zrazu.com/tools/ssl/example.com/) — має бути нова дата закінчення. ## Щоб панель не замінила наш сертифікат безкоштовним Майже всі ці хостинги вміють самі ставити безкоштовний сертифікат Let's Encrypt. Якщо в налаштуваннях SSL сайту ввімкнено «автоматичний Let's Encrypt» чи «виписати лише Let's Encrypt», вимкніть це для домену — інакше панель може замінити наш сертифікат своїм. ## Як не робити це руками Строк кожної частини сертифіката з роками коротшає (за правилами галузі — до 47 днів у 2029 році), тож ручна заміна стане частою. Повністю автоматичні варіанти: - перейти на тариф чи хостинг із **cPanel** — [інструкція](https://zrazu.com/docs/ssl-auto-cpanel.md); - VPS із доступом по SSH — [сервер Linux](https://zrazu.com/docs/ssl-auto-linux.md); - якщо хостинг дає SSH і cron (наприклад, на старших тарифах) — скрипт для [сервера Linux](https://zrazu.com/docs/ssl-auto-linux.md) часто працює й там, якщо панель читає сертифікат із файлу. Спитайте підтримку хостингу, звідки сайт бере сертифікат, — і скопіюйте промт для ШІ, він допоможе пристосувати скрипт. ## Якщо не вийшло - Панель пише, що ключ не підходить, — вставлено не той ключ. Потрібен саме той, з яким замовляли сертифікат (або з яким його перевипускали). - Браузер пише про неповний ланцюжок — не вставлено `chain.pem` або вставлено `cert.pem` там, де потрібен `fullchain.pem`. - Ключ ECDSA, а панель приймає лише RSA (adm.tools) — перевипустіть сертифікат у кабінеті з ключем RSA. --- # AWS — балансувальник, CloudFront, API Gateway URL: https://zrazu.com/docs/ssl-auto-aws/ Підходить, якщо сайт віддає сертифікат через AWS: Application чи Network Load Balancer, CloudFront, API Gateway, Elastic Beanstalk. Сертифікат там лежить в AWS Certificate Manager (ACM). Ми не просимо ключів від вашого AWS: функція працює у вашому акаунті й має право оновлювати лише один сертифікат. Як це працює: ACM дозволяє імпортувати новий сертифікат у той самий ARN, і всі сервіси, що ним користуються, переходять на новий без перенастройки. Функція Lambda раз на добу порівнює сертифікат за посиланням із тим, що в ACM, і якщо він новий — імпортує його разом із вашим ключем, який лежить у Secrets Manager. ## Що знадобиться - Посилання на сертифікат із кабінету: `https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН`. - Закритий ключ без пароля (RSA 2048 чи ECDSA P-256) — той, з яким замовляли сертифікат. - Доступ до AWS Console з правами створювати функції Lambda, секрети й ролі IAM. - 20 хвилин. **Регіон.** Для CloudFront сертифікат має бути в регіоні **US East (N. Virginia) us-east-1** — і секрет, і функцію робіть там само. Для балансувальника — регіон балансувальника. ## Крок 1. Ключ — у Secrets Manager 1. **Secrets Manager → Store a new secret**. 2. **Other type of secret** → вкладка **Plaintext** → видаліть приклад і вставте весь текст ключа з рядками `-----BEGIN … PRIVATE KEY-----` і `-----END … PRIVATE KEY-----`. 3. **Next** → назва `zrazu-ssl-key` → **Next** → **Next** → **Store**. 4. Відкрийте секрет і скопіюйте **Secret ARN**. ## Крок 2. Перший імпорт в ACM (якщо сертифікат ще не там) 1. **Certificate Manager → Import a certificate**. 2. **Certificate body** — вміст `https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН/cert.pem` (відкрийте в браузері, скопіюйте весь текст); **Certificate private key** — ваш ключ; **Certificate chain** — вміст `https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН/chain.pem`. 3. **Import**. Відкрийте сертифікат і скопіюйте **ARN**. 4. Підключіть сертифікат до сервісу, якщо ще не підключили: у балансувальнику — **Listeners → HTTPS:443 → Edit → Default SSL/TLS certificate**; у CloudFront — **Distribution → Edit → Custom SSL certificate**. ## Крок 3. Функція Lambda 1. **Lambda → Create function → Author from scratch**. Назва `zrazu-ssl-update`, **Runtime** — Node.js 22.x, **Create function**. 2. У вкладці **Code** відкрийте `index.mjs`, замініть увесь текст на код нижче. Вставте свої значення в рядки `CERT_ARN` (з кроку 2) і `KEY_SECRET` (з кроку 1). Натисніть **Deploy**. ```js file=zrazu-aws-lambda.mjs // ZRAZU: оновлення сертифіката в AWS Certificate Manager за особистим посиланням. Запускається раз на добу. import { ACMClient, DescribeCertificateCommand, ImportCertificateCommand } from "@aws-sdk/client-acm"; import { GetSecretValueCommand, SecretsManagerClient } from "@aws-sdk/client-secrets-manager"; import { X509Certificate, createPrivateKey } from "node:crypto"; const PULL = "https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН"; const CERT_ARN = "arn:aws:acm:РЕГІОН:АКАУНТ:certificate/…"; const KEY_SECRET = "arn:aws:secretsmanager:РЕГІОН:АКАУНТ:secret:zrazu-ssl-key-…"; async function pem(part) { const res = await fetch(`${PULL}/${part}.pem`); if (!res.ok) throw new Error(`ZRAZU: ${part}.pem — HTTP ${res.status}`); const text = await res.text(); if (!text.includes("BEGIN CERTIFICATE")) throw new Error("ZRAZU: за посиланням не сертифікат"); return text; } const serial = (s) => (s ?? "").replace(/:/g, "").replace(/^0+/, "").toUpperCase(); export const handler = async () => { const acm = new ACMClient({ region: CERT_ARN.split(":")[3] }); const [cert, chain] = await Promise.all([pem("cert"), pem("chain")]); const leaf = new X509Certificate(cert); const current = await acm.send(new DescribeCertificateCommand({ CertificateArn: CERT_ARN })); if (serial(current.Certificate?.Serial) === serial(leaf.serialNumber)) return "ZRAZU: сертифікат не змінився"; if (new Date(leaf.validTo) <= new Date()) throw new Error("ZRAZU: сертифікат уже не діє"); const secrets = new SecretsManagerClient({ region: KEY_SECRET.split(":")[3] }); const { SecretString: key } = await secrets.send(new GetSecretValueCommand({ SecretId: KEY_SECRET })); if (!leaf.checkPrivateKey(createPrivateKey(key))) { throw new Error("ZRAZU: сертифікат випущено на інший ключ — покладіть новий ключ у секрет"); } await acm.send(new ImportCertificateCommand({ CertificateArn: CERT_ARN, Certificate: Buffer.from(cert), CertificateChain: Buffer.from(chain), PrivateKey: Buffer.from(key), })); return `ZRAZU: новий сертифікат встановлено, діє до ${leaf.validTo}`; }; ``` 3. **Configuration → General configuration → Edit** → **Timeout** 30 секунд → **Save**. ## Крок 4. Права функції — лише на цей сертифікат і цей секрет 1. **Configuration → Permissions** → клацніть назву ролі (відкриється IAM). 2. **Add permissions → Create inline policy** → вкладка **JSON** → вставте текст нижче, підставивши два ARN. 3. **Next** → назва `zrazu-ssl-update` → **Create policy**. ```json { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["acm:DescribeCertificate", "acm:ImportCertificate"], "Resource": "ARN_СЕРТИФІКАТА" }, { "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": "ARN_СЕКРЕТУ" } ] } ``` ## Крок 5. Розклад 1. У функції **Add trigger** → **EventBridge (CloudWatch Events)**. 2. **Create a new rule** → назва `zrazu-ssl-daily` → **Schedule expression** → `rate(1 day)` → **Add**. ## Перевірка 1. У функції вкладка **Test** → **Test** (подія будь-яка). Результат — «новий сертифікат встановлено» або «сертифікат не змінився». 2. У **Certificate Manager** у сертифіката — нова дата **Expires**. 3. Сайт: [https://zrazu.com/tools/ssl/example.com/](https://zrazu.com/tools/ssl/example.com/). CloudFront розносить новий сертифікат по своїх вузлах кілька хвилин. 4. Журнал кожного запуску — **Monitor → View CloudWatch logs**. ## Якщо не вийшло - `AccessDeniedException` — у політиці з кроку 4 не той ARN чи не той регіон. - `HTTP 404` — посилання вимкнене чи замінене: створіть нове в картці сертифіката й замініть рядок `PULL`. - «сертифікат випущено на інший ключ» — сертифікат перевипускали з новим ключем: оновіть секрет (**Retrieve secret value → Edit**). - `ValidationException` про ключ — ключ із паролем або не той формат: потрібен PEM без пароля. - Task timed out — збільште **Timeout** (крок 3). --- # Azure — Application Gateway, App Service, Front Door URL: https://zrazu.com/docs/ssl-auto-azure/ Підходить, якщо сертифікат сайту лежить у **Azure Key Vault** і його бере Application Gateway v2, App Service чи Front Door (Standard/Premium). Ці сервіси самі переходять на нову версію сертифіката в Key Vault, якщо підключені «без версії» (Latest): Application Gateway — протягом 4 годин, App Service — протягом доби, Front Door — до 72 годин. Як це працює: runbook в Azure Automation раз на добу забирає сертифікат за посиланням, порівнює з поточним у Key Vault і, якщо він новий, складає PFX із вашим ключем (ключ лежить у тому самому Key Vault як секрет) та імпортує нову версію. Ми не отримуємо доступу до вашого Azure. ## Що знадобиться - Посилання на сертифікат із кабінету: `https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН`. - Закритий ключ без пароля — файл `key.pem`. Для Front Door — лише RSA: ключі ECDSA Front Door не приймає. - Key Vault у моделі доступу **Azure role-based access control** і права Owner на нього. ## Крок 1. Сертифікат і ключ у Key Vault Відкрийте **Cloud Shell** (кнопка `>_` угорі порталу, режим Bash), завантажте `key.pem` (**Manage files → Upload**) і виконайте, підставивши назву свого Key Vault: ```sh VAULT=НАЗВА_KEY_VAULT curl -fsS -o fullchain.pem "https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН/fullchain.pem" az keyvault secret set --vault-name $VAULT --name zrazu-ssl-key --file key.pem openssl pkcs12 -export -in fullchain.pem -inkey key.pem -out zrazu.pfx -passout pass: az keyvault certificate import --vault-name $VAULT --name zrazu-ssl --file zrazu.pfx rm key.pem zrazu.pfx ``` Якщо сертифікат уже є в Key Vault під іншою назвою, останній імпорт пропустіть, а в runbook (крок 3) змініть `$CertName`. Підключіть сертифікат до сервісу без версії, якщо ще не підключили: Application Gateway — **Listeners → сертифікат з Key Vault**; App Service — **Certificates → Bring your own certificates → Import from Key Vault**; Front Door — **Secrets → Add certificate → версія Latest**. ## Крок 2. Обліковий запис Automation 1. **Automation Accounts → Create** → група ресурсів і регіон ті самі, що в Key Vault → **Review + Create**. 2. В обліковому записі **Account Settings → Identity** → **System assigned: On** → **Save**. 3. У Key Vault **Access control (IAM) → Add role assignment**: роль **Key Vault Certificates Officer** → **Managed identity** → ваш обліковий запис Automation → **Review + assign**. Повторіть для ролі **Key Vault Secrets User**. ## Крок 3. Runbook 1. В обліковому записі Automation **Process Automation → Runbooks → Create a runbook**: назва `zrazu-ssl-update`, **Runbook type** — PowerShell, **Runtime version** — 7.2 → **Create**. 2. Вставте текст нижче, у рядку `$Vault` вкажіть назву Key Vault → **Save** → **Publish**. ```powershell file=zrazu-azure-runbook.ps1 # ZRAZU: оновлення сертифіката в Azure Key Vault за особистим посиланням. Запускається раз на добу. $ErrorActionPreference = "Stop" $Pull = "https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН" $Vault = "НАЗВА_KEY_VAULT" $CertName = "zrazu-ssl" $KeySecret = "zrazu-ssl-key" $X509 = [Security.Cryptography.X509Certificates.X509Certificate2] Connect-AzAccount -Identity | Out-Null $full = (Invoke-WebRequest -Uri "$Pull/fullchain.pem" -UseBasicParsing).Content if ($full -is [byte[]]) { $full = [Text.Encoding]::ASCII.GetString($full) } $pems = @([regex]::Matches($full, "-----BEGIN CERTIFICATE-----[\s\S]+?-----END CERTIFICATE-----") | ForEach-Object { $_.Value }) if ($pems.Count -eq 0) { throw "ZRAZU: not a certificate" } $leaf = $X509::CreateFromPem($pems[0]) $current = Get-AzKeyVaultCertificate -VaultName $Vault -Name $CertName if ($current -and $current.Thumbprint -eq $leaf.Thumbprint) { "ZRAZU: unchanged"; return } if ($leaf.NotAfter -le (Get-Date)) { throw "ZRAZU: certificate expired" } $key = Get-AzKeyVaultSecret -VaultName $Vault -Name $KeySecret -AsPlainText $withKey = $X509::CreateFromPem($pems[0], $key) $all = New-Object Security.Cryptography.X509Certificates.X509Certificate2Collection [void]$all.Add($withKey) foreach ($pem in ($pems | Select-Object -Skip 1)) { [void]$all.Add($X509::CreateFromPem($pem)) } $pfx = $all.Export([Security.Cryptography.X509Certificates.X509ContentType]::Pkcs12) Import-AzKeyVaultCertificate -VaultName $Vault -Name $CertName -CertificateString ([Convert]::ToBase64String($pfx)) | Out-Null "ZRAZU: updated, valid until $($leaf.NotAfter.ToString('yyyy-MM-dd'))" ``` Якщо ключ не підходить до сертифіката, `CreateFromPem` зупиниться з помилкою і нічого не буде імпортовано. ## Крок 4. Розклад У runbook **Link to schedule → Link a schedule to your runbook → Add a schedule**: назва `zrazu-daily`, **Recurrence** — Recurring, кожен 1 день, час — будь-який нічний → **Create** → **OK**. ## Перевірка 1. У runbook **Start** → **OK**. Відкрийте задачу (**Jobs**), вкладка **Output**: «updated» або «unchanged». 2. У Key Vault **Certificates → zrazu-ssl** — нова версія з новою датою. 3. Сайт: [https://zrazu.com/tools/ssl/example.com/](https://zrazu.com/tools/ssl/example.com/) — з урахуванням того, як швидко ваш сервіс підхоплює нову версію (див. вгорі). ## Якщо не вийшло - `Forbidden` / `does not have secrets get permission` — не видано одну з двох ролей кроку 2 або Key Vault у моделі access policy: тоді в **Access policies** дайте identity права Certificates: Get, Import і Secrets: Get. - «The provided key does not match» — сертифікат перевипускали з новим ключем: `az keyvault secret set --vault-name $VAULT --name zrazu-ssl-key --file новий-key.pem`. - `404` — посилання вимкнене чи замінене: створіть нове в картці сертифіката й замініть `$Pull`. - Front Door не бере сертифікат — ключ ECDSA або сертифікат підключено з конкретною версією, а не Latest. --- # Google Cloud — балансувальник із Certificate Manager URL: https://zrazu.com/docs/ssl-auto-gcp/ Підходить для зовнішнього балансувальника Google Cloud, якщо сертифікат підключено через **Certificate Manager** (certificate map). Certificate Manager оновлює сертифікат на місці: прив'язки не змінюються. Для «класичних» сертифікатів балансувальника (`compute ssl-certificates`) оновлення на місці немає — перенесіть сертифікат у Certificate Manager. Усе робиться командами в **Cloud Shell** (кнопка `>_` угорі консолі Google Cloud) — нічого ставити на свій комп'ютер не треба. ## Що знадобиться - Посилання на сертифікат із кабінету: `https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН`. - Закритий ключ без пароля — файл `key.pem`. У Cloud Shell завантажте його через меню **⋮ → Upload**. - Роль Owner або Editor у проєкті. ## Крок 1. Скрипт оновлення У Cloud Shell відкрийте редактор `nano zrazu-gcp-update.sh`, вставте текст і збережіть (Ctrl+O, Enter, Ctrl+X). Якщо сертифікат у Certificate Manager уже є під іншою назвою, змініть `CERT`; регіональний сертифікат — змініть `LOCATION`. ```sh file=zrazu-gcp-update.sh #!/bin/sh # ZRAZU: оновлення сертифіката в Google Certificate Manager за особистим посиланням. Запускається раз на добу. set -eu PULL="https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН" CERT="zrazu-ssl" LOCATION="global" KEY=/zrazu-key/key.pem cd /tmp curl -fsS --retry 3 --max-time 60 -o new.pem "$PULL/fullchain.pem" grep -q "BEGIN CERTIFICATE" new.pem || { echo "ZRAZU: not a certificate"; exit 1; } current=$(gcloud certificate-manager certificates describe "$CERT" --location="$LOCATION" --format='value(pemCertificate)' | tr -d '\r\n ') if [ "$current" = "$(tr -d '\r\n ' < new.pem)" ]; then echo "ZRAZU: unchanged"; exit 0; fi gcloud certificate-manager certificates update "$CERT" --location="$LOCATION" --certificate-file=new.pem --private-key-file="$KEY" --quiet echo "ZRAZU: updated" ``` ## Крок 2. Перший сертифікат (якщо його ще немає в Certificate Manager) ```sh curl -fsS -o fullchain.pem "https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН/fullchain.pem" gcloud certificate-manager certificates create zrazu-ssl --certificate-file=fullchain.pem --private-key-file=key.pem ``` Додайте його в certificate map балансувальника (**Certificate Manager → Certificate maps**), якщо ще не додали. ## Крок 3. Задача і розклад Скопіюйте весь блок у Cloud Shell. Регіон задачі можна змінити на найближчий. ```sh REGION=europe-west1 PROJECT=$(gcloud config get-value project) SA=zrazu-ssl@$PROJECT.iam.gserviceaccount.com gcloud services enable run.googleapis.com cloudscheduler.googleapis.com secretmanager.googleapis.com certificatemanager.googleapis.com gcloud iam service-accounts create zrazu-ssl --display-name="ZRAZU SSL update" gcloud secrets create zrazu-ssl-key --data-file=key.pem gcloud secrets create zrazu-ssl-script --data-file=zrazu-gcp-update.sh for s in zrazu-ssl-key zrazu-ssl-script; do gcloud secrets add-iam-policy-binding $s --member=serviceAccount:$SA --role=roles/secretmanager.secretAccessor; done gcloud projects add-iam-policy-binding $PROJECT --member=serviceAccount:$SA --role=roles/certificatemanager.editor gcloud run jobs create zrazu-ssl --region=$REGION --image=gcr.io/google.com/cloudsdktool/google-cloud-cli:stable --service-account=$SA --set-secrets=/zrazu-key/key.pem=zrazu-ssl-key:latest,/zrazu-script/update.sh=zrazu-ssl-script:latest --command=/bin/sh --args=/zrazu-script/update.sh --max-retries=1 gcloud run jobs add-iam-policy-binding zrazu-ssl --region=$REGION --member=serviceAccount:$SA --role=roles/run.invoker gcloud scheduler jobs create http zrazu-ssl-daily --location=$REGION --schedule="17 4 * * *" --uri="https://run.googleapis.com/v2/projects/$PROJECT/locations/$REGION/jobs/zrazu-ssl:run" --http-method=POST --oauth-service-account-email=$SA rm key.pem ``` Ключ тепер лише в Secret Manager, а з Cloud Shell його прибрано. ## Перевірка 1. Запустіть задачу руками: `gcloud run jobs execute zrazu-ssl --region=$REGION --wait`. 2. Журнал: **Cloud Run → Jobs → zrazu-ssl → Logs** — «updated» або «unchanged». 3. Сайт: [https://zrazu.com/tools/ssl/example.com/](https://zrazu.com/tools/ssl/example.com/). Балансувальнику Google потрібно до кількох хвилин. ## Якщо не вийшло - `PERMISSION_DENIED` — сервісному акаунту не видано роль із кроку 3; повторіть відповідний рядок. - Помилка про ключ при `update` — сертифікат перевипускали з новим ключем: `gcloud secrets versions add zrazu-ssl-key --data-file=новий-key.pem`. - Помилка про імена (SAN) — Certificate Manager оновлює сертифікат лише з тим самим списком доменів. Якщо домени змінилися, створіть новий сертифікат і замініть його в certificate map. - Скрипт змінили — оновіть секрет: `gcloud secrets versions add zrazu-ssl-script --data-file=zrazu-gcp-update.sh`. --- # Cloudflare перед сайтом URL: https://zrazu.com/docs/ssl-auto-cloudflare/ Якщо сайт працює через проксі Cloudflare (помаранчева хмарка в DNS), відвідувачі бачать сертифікат, який віддає Cloudflare, а не ваш сервер. ## Тарифи Free і Pro Cloudflare сам видає безкоштовний сертифікат для відвідувачів, і поставити туди свій на цих тарифах не можна. Наш сертифікат потрібен на **вашому сервері** — щоб зв'язок Cloudflare → сервер теж був захищений і перевірявся (режим **SSL/TLS → Full (strict)**). Налаштуйте автоматичне оновлення на сервері за інструкцією для нього: [сервер Linux](https://zrazu.com/docs/ssl-auto-linux.md), [cPanel](https://zrazu.com/docs/ssl-auto-cpanel.md), [Kubernetes](https://zrazu.com/docs/ssl-auto-kubernetes.md). ## Тарифи Business і Enterprise — свій сертифікат у Cloudflare Тут можна завантажити свій сертифікат (**SSL/TLS → Edge Certificates → Upload Custom SSL Certificate**), але Cloudflare його не поновлює. Скрипт нижче раз на добу забирає свіжий сертифікат за посиланням і оновлює його в Cloudflare через API. Запускайте його на будь-якому сервері Linux із `curl` і `openssl` — зазвичай на тому, що стоїть за Cloudflare. ### Що знадобиться - Посилання на сертифікат із кабінету: `https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН`. - Закритий ключ без пароля. Ключ ECDSA — без блоку `EC PARAMETERS`. - **Zone ID** — на сторінці домену в Cloudflare, праворуч унизу (**API → Zone ID**). - **ID сертифіката**: **SSL/TLS → Edge Certificates**, рядок вашого сертифіката → розгорнути → **Certificate ID**. Якщо сертифіката ще немає, спершу завантажте його вручну (кнопка вище) з `https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН/fullchain.pem` і своїм ключем. - **API-токен**: **My Profile → API Tokens → Create Token → Create Custom Token** → дозвіл **Zone → SSL and Certificates → Edit**, **Zone Resources** — лише цей домен. ### Крок 1. Ключ і скрипт на сервері ```sh sudo mkdir -p /etc/ssl/zrazu/example.com sudo chmod 700 /etc/ssl/zrazu/example.com sudo nano /etc/ssl/zrazu/example.com/key.pem sudo nano /usr/local/bin/zrazu-cloudflare-example.com.sh ``` У перший файл вставте ключ, у другий — скрипт нижче з вашими `ZONE`, `CERT_ID` і `TOKEN`. ```sh file=zrazu-cloudflare-update.sh #!/bin/sh # ZRAZU: оновлення власного сертифіката в Cloudflare за особистим посиланням. Запускається cron раз на добу. set -eu PULL="https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН" DIR="/etc/ssl/zrazu/example.com" ZONE="ZONE_ID" CERT_ID="CERTIFICATE_ID" TOKEN="API_TOKEN" API="https://api.cloudflare.com/client/v4/zones/$ZONE/custom_certificates" umask 077 cd "$DIR" [ -f cert_id ] || echo "$CERT_ID" > cert_id curl -fsS --retry 3 --max-time 60 -o new.pem "$PULL/fullchain.pem" grep -q "BEGIN CERTIFICATE" new.pem || { echo "ZRAZU: за посиланням не сертифікат"; exit 1; } if [ -f applied.pem ] && cmp -s new.pem applied.pem; then echo "ZRAZU: сертифікат не змінився"; exit 0; fi cert_pub=$(openssl x509 -in new.pem -noout -pubkey | openssl sha256) key_pub=$(openssl pkey -in key.pem -pubout | openssl sha256) [ "$cert_pub" = "$key_pub" ] || { echo "ZRAZU: сертифікат випущено на інший ключ — покладіть новий key.pem"; exit 1; } json() { awk '{ gsub(/\\/, "\\\\"); gsub(/"/, "\\\""); printf "%s\\n", $0 }' "$1"; } printf '{"certificate":"%s","private_key":"%s","bundle_method":"force"}' "$(json new.pem)" "$(json key.pem)" > body.json out=$(curl -sS -X PATCH "$API/$(cat cert_id)" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" --data @body.json) rm -f body.json if printf '%s' "$out" | grep -q '"success": *true'; then id=$(printf '%s' "$out" | tr -d '\n' | grep -o '"result": *{.*' | grep -o '"id": *"[0-9a-f]*"' | head -n 1 | cut -d'"' -f4) [ -z "$id" ] || echo "$id" > cert_id mv -f new.pem applied.pem echo "ZRAZU: сертифікат у Cloudflare оновлено" else echo "ZRAZU: Cloudflare відмовив:" printf '%s\n' "$out" exit 1 fi ``` Cloudflare може видати оновленому сертифікату новий ID — скрипт запам'ятовує його у файлі `cert_id` сам. ### Крок 2. Перший запуск і розклад ```sh sudo chmod 700 /usr/local/bin/zrazu-cloudflare-example.com.sh sudo /usr/local/bin/zrazu-cloudflare-example.com.sh echo "23 4 * * * root /usr/local/bin/zrazu-cloudflare-example.com.sh >> /var/log/zrazu-ssl.log 2>&1" | sudo tee /etc/cron.d/zrazu-cloudflare-example.com ``` ### Перевірка 1. Перший запуск пише «сертифікат у Cloudflare оновлено», наступні — «сертифікат не змінився». 2. **SSL/TLS → Edge Certificates** — у вашого сертифіката нова дата **Expires On**. 3. Сайт: [https://zrazu.com/tools/ssl/example.com/](https://zrazu.com/tools/ssl/example.com/). ### Якщо не вийшло - `Authentication error` — токен без дозволу **SSL and Certificates → Edit** або не на цей домен. - `custom certificate not found` — неправильний `CERT_ID`: видаліть файл `/etc/ssl/zrazu/example.com/cert_id`, виправте рядок у скрипті й запустіть знову. - «сертифікат випущено на інший ключ» — сертифікат перевипускали з новим ключем: замініть `key.pem`. --- # Конструктори сайтів — Tilda, Wix, Shopify, Prom, Horoshop та інші URL: https://zrazu.com/docs/ssl-auto-site-builders/ Якщо сайт зроблено на конструкторі, сертифікат для нього видає і поновлює сам конструктор — безкоштовно. Поставити туди сертифікат ZRAZU здебільшого неможливо, а де можна — лише вручну і на найдорожчих тарифах. Тому для сайту на конструкторі **наш SSL купувати не потрібно**: увімкніть безкоштовний у налаштуваннях конструктора. | Конструктор | Безкоштовний сертифікат | Свій сертифікат | | --- | --- | --- | | Tilda | так, вмикається в налаштуваннях сайту | ні | | Wix | так | лише тариф Enterprise, вручну | | Shopify | так | ні | | Webflow | так | лише тариф Enterprise, вручну, не поновлюється сам | | WordPress.com | так | ні | | Squarespace | так | ні | | Prom.ua | так, автоматично після підключення домену | ні | | Horoshop | так | ні | | Weblium | так | ні | | Google Sites | так | ні | | Framer | так | ні | ## Що робити 1. Підключіть домен до конструктора за його інструкцією (записи DNS у кабінеті ZRAZU, розділ «DNS»). 2. Увімкніть безкоштовний SSL у налаштуваннях конструктора, якщо він не ввімкнувся сам. Зазвичай сертифікат з'являється за кілька годин після того, як домен почав вказувати на конструктор. 3. Перевірте: [https://zrazu.com/tools/ssl/example.com/](https://zrazu.com/tools/ssl/example.com/). ## Коли наш сертифікат усе ж потрібен - **Інший сайт або сервіс на тому самому домені** (наприклад, `api.example.com` на своєму сервері) — сертифікат потрібен там, і для нього є [інструкції під сервери і хостинги](https://zrazu.com/docs/ssl-auto.md). - **Wix чи Webflow на тарифі Enterprise і вимога сертифіката з перевіркою організації (OV)** — свій сертифікат можна завантажити вручну; поновлювати його доведеться так само вручну, перед кожною новою частиною підписки. Уже купили сертифікат для сайту на конструкторі й він не знадобився? Напишіть нам — розберемося. --- # Посилання на сертифікат — довідка для розробників URL: https://zrazu.com/docs/ssl-auto-pull-api/ Особисте посилання дає чинний сертифікат підписки без входу в кабінет — для скриптів, задач за розкладом і власних інтеграцій. Створюється в кабінеті: картка сертифіката → «Встановлення» → «Посилання для сервера». ## Адреси `https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН` — базова адреса, до неї додається назва файлу: | Запит | Що повертає | | --- | --- | | `GET https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН/fullchain.pem` | сертифікат сайту, за ним проміжні сертифікати центру — для nginx, Apache 2.4.8+, Caddy, HAProxy, Kubernetes | | `GET https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН/cert.pem` | лише сертифікат сайту | | `GET https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН/chain.pem` | лише проміжні сертифікати | Тип відповіді — `application/x-pem-file`, текст PEM. Закритого ключа посилання не віддає і не приймає: ключ лишається у вас, а наступні частини підписки випускаються на той самий ключ. ## Що саме віддається Чинна версія підписки — останній випущений сертифікат. Якщо його відкликано або строк минув, посилання відповідає `404`: попередню версію не віддаємо, бо центр сертифікації міг відкликати її під час заміни. Коли з'являється наступна частина підписки, за тим самим посиланням починає віддаватися вона — посилання міняти не треба. Якщо сертифікат перевипускали з новим ключем, посилання віддасть сертифікат на новий ключ. Тому перед установкою звіряйте відкритий ключ сертифіката зі своїм закритим ключем — так роблять усі скрипти в наших інструкціях: ```sh openssl x509 -in fullchain.pem -noout -pubkey | openssl sha256 openssl pkey -in key.pem -pubout | openssl sha256 ``` Рядки мають збігтися. ## Коди відповіді | Код | Коли | | --- | --- | | `200` | сертифікат у тілі відповіді | | `304` | умовний запит, сертифікат не змінився | | `404` | посилання невідоме, вимкнене чи прострочене, або в підписці зараз немає чинного сертифіката — відповідь однакова, щоб не підказувати, чи існувало посилання | | `429` | забагато запитів; заголовок `Retry-After` — через скільки секунд можна знову | ## Умовні запити Відповідь містить `ETag` (змінюється разом із версією сертифіката) і `Last-Modified` (час випуску). Запит з `If-None-Match` або `If-Modified-Since` отримає `304`, поки сертифікат той самий: ```sh curl -fsS --etag-save etag.txt --etag-compare etag.txt -o fullchain.pem "https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН/fullchain.pem" ``` Умовні запити не обов'язкові: файл маленький, і порівняти його з установленим (`cmp`) так само просто. ## Ліміти - 60 запитів на годину на одне посилання — для задачі раз на добу чи навіть раз на годину цього з великим запасом; - 300 запитів на хвилину з однієї IP-адреси. ## Безпека - Посилання — секрет рівня «не публікувати»: воно віддає лише публічний сертифікат, але хто його має, той бачить, коли сертифікат забирають. - Відповіді не кешуються (`Cache-Control: no-store`), не індексуються і не передають посилання в `Referer`. - Показуємо посилання один раз; у нас зберігається лише його відбиток. Нове посилання в картці сертифіката одразу вимикає попереднє; там само — «Вимкнути». - Посилання діє до кінця підписки. ## Для ШІ-агентів Повна документація ZRAZU у форматі для мовних моделей: [https://zrazu.com/llms.txt](https://zrazu.com/llms.txt) (зміст) і [https://zrazu.com/llms-full.txt](https://zrazu.com/llms-full.txt) (усі сторінки). Кожна сторінка документації є і в Markdown — додайте `.md` до адреси без кінцевої косої риски. --- # Що перевіряє моніторинг ZRAZU URL: https://zrazu.com/docs/monitoring-checks/ Моніторинг у [кабинеті](https://vse.zrazu.com/monitoring/) стежить за вашими доменами постійно. Ви не налаштовуєте перевірки вручну: достатньо, щоб домен був у списку. ## Що саме ми перевіряємо Кожна перевірка — це окремий «шар». | Шар | Про що він | | --- | --- | | Реєстр | Чи не вимкнено домен, чи не минув строк, чи не почався перенос до іншого реєстратора | | Делегування | Чи відповідають DNS-сервери домену | | DNSSEC | Чи на місці ключі й підписи, чи збігається запис у реєстрі | | Сертифікат | Чи не минув SSL-сертифікат і чи не закінчується він за 7 днів або менше | | Пошта | Чи працює поштовий вузол домену | | Сайт | Чи відкривається сайт | | CT-журнали | Журнали прозорості сертифікатів (CT) для вашого домену | Не всі шари є на кожному тарифі — дивіться [тариф і додавання доменів](https://zrazu.com/docs/monitoring-add.md). ## Свої та зовнішні домени - **Ваші домени в ZRAZU** перевіряються автоматично щохвилини, з усіма шарами. До безкоштовного ліміту вони не входять. - **Зовнішні домени** — зареєстровані в інших. Їх ви додаєте самі. Безкоштовно це 25 доменів і перевірка кожні 15 хвилин. Якщо перенесення чи зміну NS ви зробили через ZRAZU, ми це знаємо й не вважаємо аварією. ## Коли ми вирішуємо, що це проблема Одна невдала перевірка — ще не тривога. Інцидент відкривається, лише коли проблему підтвердили щонайменше дві точки перевірки й вона повторилася тричі поспіль за три хвилини. Так ви не отримуєте листів через короткий збій мережі. Рекомендації на кшталт «налаштуйте DMARC» — не аварія, їх бачите на сторінці домену, але будити вас вони не будуть. Якщо шар не вдалося перевірити, ми не вигадуємо ні «все добре», ні «зламано». ## Що вважаємо серйозним Завжди, навіть уночі, повідомляємо про: домен вимкнено реєстром, зона не відповідає, домен виводять до іншого реєстратора, строк закінчився, проблеми з ключами або підписами DNSSEC. Про [повідомлення й тихі години](https://zrazu.com/docs/monitoring-alerts.md) читайте окремо. ## Якщо не вийшло - **Домена немає у списку** — додайте його за [інструкцією](https://zrazu.com/docs/monitoring-add.md). - **Шар «Сайт» не показується** — на безкоштовному тарифі для зовнішніх доменів його немає. - **Поруч з доменом «На паузі: ліміт тарифу»** — доменів більше, ніж дозволяє тариф. Оберіть тариф із більшим лімітом. - **Моніторинг показує «ще не перевіряли»** — домен щойно додано, зачекайте першої перевірки. --- # Додати домени на моніторинг і тариф URL: https://zrazu.com/docs/monitoring-add/ Домени, зареєстровані в ZRAZU, потрапляють на моніторинг самі. Домени інших реєстраторів додайте вручну: так ви бачите їхній стан, строк і сертифікат без перенесення реєстрації. ## Як додати домени 1. Відкрийте [кабінет](https://vse.zrazu.com/monitoring/add/) — розділ «Моніторинг», сторінка «Додати домени на моніторинг». 2. Оберіть спосіб: - **Список** — вставте домени, кожен з нового рядка; - **CSV** — завантажте файл зі списком; - **Cloudflare** — натисніть «Показати зони», позначте потрібні й натисніть «Поставити на моніторинг». 3. Подивіться підсумок: «Додано на моніторинг», «Вже під наглядом», «Понад безкоштовний ліміт», «Пропущено». Для Cloudflare потрібен ключ лише для читання. Якщо ключ уже збережено в організації, вставляти його знову не потрібно. Ключ — це секрет: не надсилайте його нікому в листуванні чи чаті. Рядки, які ми пропустили (наприклад, опечатка в імені), можна повернути в поле кнопкою «Виправити пропущені». ## Безкоштовний тариф і платні | | Безкоштовно | Платні тарифи | | --- | --- | --- | | Зовнішніх доменів | до 25 | більше, залежно від тарифу | | Перевірка | кожні 15 хвилин | частіше | | Шари | реєстр, делегування, DNSSEC, сертифікат, пошта | додаються сайт та CT-журнали | Ціни дивіться на сторінці [цін](https://zrazu.com/prices/). Ваші домени в ZRAZU перевіряються щохвилини з усіма шарами за будь-якого тарифу. ## Як підключити платний тариф 1. Відкрийте [тариф моніторингу](https://vse.zrazu.com/monitoring/tariff/). 2. Оберіть період оплати: щомісяця або щороку. 3. Натисніть «Підключити» біля потрібного тарифу. 4. Позначте «Почати одразу» і натисніть «Перейти до оплати». Оплатити можна з балансу або карткою. Підключати й змінювати тариф може лише роль, що платить. Якщо у вас вже платний тариф, невикористані дні зараховуються в ціну нового. ## Автопродовження, зміна й скасування - «Автопродовження» — тариф сам продовжується з балансу в кінці періоду. За 7 днів до цього ми надсилаємо лист із сумою. - «Змінити» — перехід на інший тариф. Кнопка «З наступного періоду» планує зміну на потім, а «Залишити як є» скасовує заплановане. - «Скасувати тариф» — моніторинг повертається до безкоштовного. Кошти за невикористані дні повертаються на баланс. ## Якщо не вийшло - **«Понад безкоштовний ліміт»** — на безкоштовному тарифі вже 25 доменів. Видаліть зайві («Зняти з моніторингу») або підключіть тариф з більшим лімітом. - **«Не вистачає на балансі»** — продовження не пройшло. Поповніть баланс до зазначеної дати, інакше тариф стане безкоштовним. - **«Домени на паузі через ліміт тарифу»** — вони повернуться під нагляд, коли ви оплатите тариф з більшим лімітом. - **«Немає активного ключа Cloudflare»** — додайте ключ Cloudflare в організації або вставте токен для читання. - **«Cloudflare відповідає довше звичайного»** — спробуйте ще раз за хвилину. - **«Тариф бачить роль із доступом до доменів»** — попросіть власника організації змінити вам роль. --- # Сповіщення та інциденти моніторингу URL: https://zrazu.com/docs/monitoring-alerts/ Коли [моніторинг](https://zrazu.com/docs/monitoring-checks.md) підтверджує проблему, відкривається **інцидент**, а вам надходить сповіщення. Коли все відновилося, ми так само пишемо про це: «відновлено, тривало стільки-то хвилин». ## Канали сповіщень Налаштування — у [кабінеті](https://vse.zrazu.com/settings/notifications/), сторінка «Сповіщення». | Канал | Як підключити | | --- | --- | | Пошта | Введіть адресу в полі «Пошта для сповіщень» і натисніть «Додати» | | Telegram | Натисніть «Прив'язати Telegram», потім «Відкрити в Telegram» | | Вебхук | Додайте адресу: лише https, порт 443, не внутрішня мережа, до трьох на організацію | Для вебхука ми показуємо **секрет підпису** один раз. Збережіть його одразу — потім його не буде видно. Кожен запит підписаний заголовком, тож перед тим як довіряти тілу запиту, звірте підпис. Секрет нікому не передавайте. Посилання для прив'язки Telegram діє 15 хвилин. Якщо Telegram не доставив повідомлення, ми дублюємо його поштою. ## Що саме надсилати У таблиці на цій сторінці є категорії: «Строки», «Здоровʼя», «Зміни й плани», «Гроші», «Щомісячний звіт». Для кожної обирайте канали. Критичні повідомлення вимкнути не можна. ## Тихі години У полі «Тихі години» вкажіть проміжок у форматі `22:00-08:00` і натисніть «Зберегти». У цей час звичайні повідомлення чекають на ранкове зведення. Критичне будить завжди: домен вимкнено, зона не відповідає, домен виводять, строк минув, проблеми з DNSSEC. ## Інциденти Усі інциденти — у розділі «Моніторинг → Інциденти». У картці інциденту ви бачите: - стан: «триває» чи «відновлено», і важливість: «незначне», «важливе», «критичне»; - «Домени», яких це стосується. Коли кілька доменів зламалися через одну причину, ми об'єднуємо їх в один інцидент; - «Перевірка з кількох точок» — звідки проблему побачили; - «Як ми повідомили» — канал і статус доставки; - «Хронологія». ## Що можна зробити 1. Відкрийте інцидент з повідомлення або зі списку. 2. «Відкласти на годину» — нагадаємо, якщо не відновиться. 3. «Це очікувано, не турбувати добу» — наприклад, ви самі змінили налаштування. 4. Якщо причина — недавня зміна DNS, натисніть «Відкотити зміну». Протягом 60 секунд її можна скасувати. 5. Позначте, чи була тривога по ділу («Так, по ділу» або «Ні, хибна»). ## Якщо не вийшло - **Лист не доходить** — біля адреси написано «Скринька не приймає листи». Вкажіть іншу адресу. - **Telegram не прив'язується** — посилання діє 15 хвилин, створіть нове. - **Вебхук не додається** — перевірте, що адреса https, порт 443 й вона не веде у внутрішню мережу, і що їх не більше трьох. - **Відкотити зміну не можна** — після неї зону вже змінювали. Відкотіть потрібну ревізію в історії DNS домену. - **«Критичне вимкнути не можна»** — це свідоме обмеження. --- # Початок роботи: реєстрація, вхід, організація URL: https://zrazu.com/docs/account-start/ Усе в ZRAZU — домени, SSL, моніторинг, гроші — живе в **кабінеті**. Щоб ним користуватися, потрібні акаунт (це ви) та організація (це «папка», де лежать домени, баланс і команда). ## Реєстрація 1. Відкрийте [сторінку реєстрації](https://vse.zrazu.com/signup/). 2. Введіть пошту й придумайте пароль — щонайменше 12 символів. Пароль зберігається лише у вигляді хешу, а не відкритим текстом. 3. За бажанням поставте галочку про персональні пропозиції ZRAZU. Без неї ми їх не надсилаємо. 4. Натисніть «Зберегти й продовжити». На пошту прийде лист із посиланням. 5. Відкрийте лист і підтвердьте адресу кнопкою на сторінці, яку він відкриє. Хочете без пароля — є кнопка «Зареєструватися через Google». Google передає нам лише вашу пошту, пароля від Google ми не бачимо. ## Вхід На [сторінці входу](https://vse.zrazu.com/login/) є три способи: | Спосіб | Як це працює | | --- | --- | | **Пароль** | Пошта й пароль. Далі, якщо ввімкнено другий крок, — код із застосунку чи ключ доступу. | | **Посилання на пошту** | Натискаєте «Надіслати посилання» — на пошту приходить одноразове посилання (діє 15 хвилин). Пароль не потрібен. | | **Passkey (ключ доступу)** | Вхід відбитком пальця, обличчям або PIN пристрою. | Є також «Увійти через Google». SMS для входу ми не використовуємо — тільки для сповіщень. Забули пароль — натисніть «Забули пароль?» під формою. Не вдається увійти зовсім — «Не вдається увійти? Відновити доступ» (див. [безпека входу](https://zrazu.com/docs/account-security.md)). ## Перша організація Одразу після входу кабінет напише «Ще немає організації». Створіть першу: 1. У полі «Назва організації» залиште підставлену назву або впишіть свою (від 2 до 200 символів, хоча б дві літери чи цифри). 2. Натисніть «Створити». Ви стаєте **власником** цієї організації. Назву бачить уся команда — у перемикачі в шапці та в листах про команду. ## Кілька організацій Ведете домени для різних компаній? Створіть окрему організацію під кожну: у кожної свої домени, свій баланс і своя команда. 1. У шапці кабінету відкрийте меню з вашою поточною організацією. 2. Натисніть «Змінити організацію» й оберіть потрібну — або «Створити організацію». Одна людина може бути власником не більше ніж 10 організацій. Роль у кожній організації своя. ## Назва й реквізити організації Розділ «Налаштування» → «Організація»: - **Назву** змінює лише власник: впишіть нову й натисніть «Зберегти». - Ваша роль в організації показана тут же. - Реквізити для рахунків і актів — у «Гроші» → «Платники» ([див. рахунки й платники](https://zrazu.com/docs/account-documents.md)). Ваш особистий профіль (ім'я, пошта, мова листів) — «Налаштування» → «Профіль». ## Якщо не вийшло - **«Невірна пошта або пароль»** — перевірте адресу, розкладку клавіатури й Caps Lock. - **«Підтвердіть пошту, щоб увійти»** — пароль правильний, але адресу ще не підтверджено. Ми щойно надіслали новий лист; перевірте «Спам» або натисніть «Увійти» ще раз. - **«Забагато спроб»** — вхід на паузі на кілька хвилин: так ми захищаємо акаунт від підбору пароля. Зачекайте або відновіть пароль. - **«Код не підійшов»** — візьміть свіжий код у застосунку (він змінюється кожні 30 секунд) і введіть ще раз. Перевірте також час на телефоні. - **«Акаунт із цією поштою вже є»** при вході через Google — увійдіть паролем, посиланням чи ключем доступу й підключіть Google у «Безпека входу». - **«Можна володіти не більше ніж 10 організаціями»** — досягнуто ліміту; передайте одну з організацій іншому власникові. --- # Команда і ролі в організації URL: https://zrazu.com/docs/account-team/ У розділі «Команда» → «Люди й доступи» ви бачите всіх, хто працює в організації, їхні ролі та запрошення, що ще чекають. Керують командою власник і адміністратор. ## Ролі Роль визначає, що людина може робити. Права ролі ключів API ніколи не перевищують: ключ не сильніший за свого власника. | Роль | Що може | | --- | --- | | **Власник** | Усе, зокрема виводити домени до іншого реєстратора (код перенесення), перейменовувати організацію й керувати власниками | | **Адміністратор** | Домени, DNS, контакти домену, замок перенесення, моніторинг, гроші й документи, команда, ключі API | | **Технічний фахівець** | Бачити домени, змінювати DNS, налаштовувати моніторинг, випускати ключі API; гроші — ні | | **Бухгалтер** | Бачити домени й баланс, платити й поповнювати баланс, завантажувати рахунки й акти; DNS — ні | | **Лише перегляд** | Бачити домени, баланс і рахунки; нічого не змінює | В організації завжди лишається хоча б один власник. ## Як запросити людину 1. Відкрийте «Команда» → «Люди й доступи» й натисніть «Запросити». 2. Вкажіть пошту колеги та оберіть роль. 3. Натисніть «Надіслати запрошення». Колега отримає лист із посиланням. Запрошення діє 7 днів. Увійти за ним можна лише з двоетапною перевіркою — колега налаштує її під час входу. Поки запрошення не прийняте, у списку воно позначене «запрошено …, ще не прийнято»; його можна скасувати кнопкою «Скасувати запрошення». ## Змінити роль або прибрати людину 1. У списку знайдіть людину й оберіть нову роль у її рядку — вона отримає про це лист. 2. Щоб прибрати зі складу, натисніть «Прибрати з команди». Протягом 60 секунд дію можна скасувати. Себе в цьому списку ви не понижуєте й не прибираєте. ## Власники: додаткова обережність Роль власника дає найбільші права, тому для неї діють окремі правила: - Дати роль власника, зняти її або прибрати власника може лише власник — і лише після явного підтвердження «Так, підтверджую». - Новий власник отримає код перенесення доменів лише через 72 години, і в ці 72 години не зможе понизити чи прибрати вас. - Запрошуйте власником лише того, кого знаєте особисто. ## Якщо колезі відновили доступ Коли колега відновив доступ до акаунта (наприклад, втратив телефон), поруч із ним у списку з'явиться позначка «Обмеження після відновлення доступу до …». До цієї дати він не змінює сервери імен, контакти й команду цієї організації. Якщо ви впевнені, що це справді він, натисніть «Підтвердити: це справді колега». Перевірте голосом або наживо, а не листом чи месенджером з цього акаунта: доступ міг відновити зловмисник. Підтвердження знімає обмеження. ## Журнал входів Внизу сторінки — «Журнал входів» за 30 днів: хто, коли, звідки й як входив, чи був це новий пристрій і чи відхилено вхід через неправильний код. Його бачать ті, хто керує командою. ## Якщо не вийшло - **«Схоже, в адресі помилка»** — перевірте адресу колеги. - **«Ця людина вже в команді»** — запрошувати вдруге не потрібно. - **«Запрошення недійсне або застаріле — попросіть надіслати нове»** — строк (7 днів) минув або запрошення скасоване. Надішліть нове. - **«Для цього потрібна інша роль в організації»** — дія доступна лише адміністратору чи власнику. - **«Змінити роль власника може лише власник»** / **«Прибрати власника може лише власник»** — попросіть власника зробити це самому. - **«В організації має лишитися хоча б один власник»** — спершу призначте власником іншу людину. --- # Безпека входу: ключ доступу, код, сесії URL: https://zrazu.com/docs/account-security/ Акаунт у ZRAZU керує доменами й грошима, тому його варто захистити другим кроком входу. Налаштування — у «Налаштування» → «Безпека входу». ## Другий крок входу Другий крок — те, що ми просимо після пароля. Є два способи, достатньо одного: - **Ключ доступу (passkey)** — відбиток пальця, обличчя або PIN вашого пристрою замість коду. Швидше за пароль, і його не вкрасти на підробленому сайті. - **Код із застосунку** — шість цифр із застосунку-автентифікатора (Google Authenticator, Authy, 1Password). SMS для входу ми не використовуємо — лише для сповіщень: номер телефону легко перехопити. Без другого кроку вхід тримається лише на паролі, а небезпечні дії з доменами (наприклад, зміна серверів імен чи зняття замка) закриті, доки ви його не налаштуєте. Після входу кабінет може запропонувати налаштувати ключ — обирайте «Створити ключ доступу» або «Код із застосунку». «Пізніше» нагадає за місяць, «Не питати» вимикає нагадування. ## Додати ключ доступу 1. Відкрийте «Безпека входу» й у розділі «Ключі доступу» натисніть «Додати ключ доступу». 2. Вкажіть назву («телефон», «ноутбук»), щоб потім впізнати ключ. 3. Підтвердьте відбитком, обличчям або PIN у вікні браузера. Біля кожного ключа видно, коли його додали й коли користувалися востаннє. Видалити можна кнопкою «Видалити» — окрім останнього способу підтвердити вхід. ## Підключити код із застосунку 1. У розділі «Код із застосунку» натисніть «Підключити». 2. Відскануйте QR-код застосунком. Не виходить — введіть показаний секрет вручну. 3. Впишіть шестизначний код і натисніть «Підтвердити». Статус змінюється на «підключено». Змінити телефон — «Замінити застосунок». Секрет і QR-код — це ключ до вашого акаунта: нікому їх не показуйте й не надсилайте в чат. ## Резервні коди Коли ви підключаєте другий крок, ми показуємо 10 одноразових резервних кодів. Вони потрібні, якщо загубите телефон. - Збережіть їх одразу: завантажте файл або натисніть «Скопіювати всі». Вдруге ми їх не покажемо. - Кожен код спрацьовує один раз. Скільки лишилося — видно в «Резервні коди». - «Перевипустити» створює нові; старі перестають діяти. ## Пароль і пошта - **Змінити пароль** — введіть поточний і новий (щонайменше 12 символів). Інші сесії після цього завершуються. - **Задати пароль** — якщо ви зареєструвалися через Google чи входите посиланням, перший пароль можна задати без старого, підтвердивши кодом. - **Змінити пошту для входу** — вкажіть нову адресу й натисніть «Надіслати підтвердження». Лист із підтвердженням піде на нову адресу, а попередження — на поточну. Після зміни пароля чи пошти перенесення доменів недоступне 72 години: код перенесення в цей час не видаємо. Так ніхто не виведе домен одразу після злому. ## Вхід через Google Можна підключити Google кнопкою «Підключити Google». Google замінює лише пароль: для небезпечних дій однаково потрібен другий крок. Відключити Google можна, якщо є пароль або ключ доступу. ## Сесії У розділі «Сесії» — пристрої, з яких ви ввійшли. Свій позначено «цей пристрій». - «Вийти» закриває одну сесію. - «Вийти на всіх пристроях, крім цього» закриває решту. Неактивні сесії ми закриваємо самі. Про кожен вхід з нового пристрою надсилаємо лист із кнопкою «Це не я». ## Якщо втратите доступ Відкрийте «Якщо втратите доступ» → «Як відновити доступ». Шлях залежить від ситуації: | Ситуація | Що буде | | --- | --- | | Є пошта, немає телефона | Підтвердьте поштою; другий крок скинемо через 24 години, повідомивши всі ваші контакти | | Немає ні пошти, ні телефона | Документ і історія стосунків, очікування 72 години, підтверджує друга людина | | Компанія | Запит на бланку, звірка з державним реєстром, 72 години й двоє співробітників | По телефону особу ми не підтверджуємо ніколи. За сумніву ми відмовляємо — навіть якщо ви справді власник: краще почекати, ніж втратити домен. Є резервні коди? Тоді просто введіть один із них замість коду із застосунку на кроці входу — і після входу замініть застосунок та випустіть нові коди. ## Якщо не вийшло - **«Код не підійшов — перевірте час на телефоні»** — код залежить від часу; увімкніть автоматичний час. - **«Це останній спосіб підтвердити вхід»** — спершу додайте інший ключ або застосунок, потім видаляйте. - **«Поточний пароль не підійшов»** — перевірте розкладку й Caps Lock або скористайтеся «Забули пароль?» на сторінці входу. - **«Цей акаунт Google уже підключено до іншого акаунта ZRAZU»** — використайте інший акаунт Google. - **«Щоб підключити Google, підтвердьте вхід ще раз»** — увійдіть заново й повторіть. --- # Баланс і оплата: картка та рахунок на IBAN URL: https://zrazu.com/docs/account-balance/ Послуги ZRAZU оплачуються з **балансу** організації. Баланс поповнюється карткою або переказом за рахунком; замовлення можна також оплатити напряму під час оформлення. Актуальні ціни — на сторінці [цін](https://zrazu.com/prices/). ## Де баланс Сума балансу завжди видна у шапці кабінету. Натисніть на неї, щоб побачити розклад і кнопку «Поповнити». Повний рух грошей — на сторінці «Рух грошей», а що саме замовлено й оплачено — у «Гроші» → «Замовлення». Баланс в організації може бути не один: свій у кожного продавця — «з ПДВ» і «без ПДВ». Замовлення оплачується балансом того режиму, який відповідає вашому платнику. Про платників — у [рахунках і документах](https://zrazu.com/docs/account-documents.md). Бонуси (якщо є) показані окремо від ваших грошей і не виводяться. Поповнювати баланс і керувати картками може власник, адміністратор або бухгалтер. ## Поповнити баланс Відкрийте «Гроші» → «Способи оплати». Поповнення — три кроки: 1. **Кому платите** — оберіть «З ПДВ» (для платників ПДВ) або «Без ПДВ» (для фізосіб і неплатників ПДВ). 2. **Чим платите** — «Карткою» (гроші на балансі одразу) або «Рахунок на оплату» (переказ на IBAN, зарахуємо, щойно гроші надійдуть). 3. **Скільки** — оберіть суму або впишіть іншу цілим числом гривень. Карткою за один раз можна поповнити до певної суми — її покаже форма; більшу суму оплатіть рахунком. ### Карткою 1. Оберіть збережену картку або «Нова картка на сторінці банку». 2. За бажанням залиште галочку «Зберегти картку для наступних поповнень». 3. Натисніть «Оплатити … на сторінці банку» і введіть дані картки на сторінці банку. Номер картки ви вводите лише на сторінці банку; у нас лишається маска й токен банку. Якщо до оплати карткою застосовується комісія, форма покаже її та суму «до сплати» до того, як ви натиснете кнопку. ### Рахунком на IBAN 1. Оберіть «Рахунок на оплату», вкажіть суму й платника, на кого виписати рахунок. 2. Натисніть «Виписати рахунок». 3. Скопіюйте реквізити (отримувач, IBAN, код, банк, МФО, призначення платежу) — кожен рядок копіюється окремо — і сплатіть з будь-якого банківського застосунку. Рахунок можна відкрити для друку або PDF. Призначення платежу копіюйте дослівно: за номером рахунку ми знаходимо переказ у виписці. Зараховуємо суму, яка прийшла. Переказали менше — доплатіть різницю з тим самим призначенням. Рахунки зі статусами «Чекаємо оплату», «Зараховано …», «Скасовано» зібрані в розділі «Ваші рахунки». Якщо ви вже заплатили, не скасовуйте рахунок. ## Збережені картки На сторінці «Способи оплати» є розділ «Збережені картки»: - «Зробити основною» — картка за замовчуванням; - «Видалити» — картку буде видалено, токен банку стираємо одразу; минулі платежі лишаються в історії; - картка зберігається у того продавця, через якого її ввели: картку одного режиму не можна використати для балансу іншого. Якщо в картки спливає строк, кабінет попросить додати нову. ## Оплатити замовлення Після оформлення кошика відкриється крок оплати: - **Карткою** — оплатіть на сторінці банку. Якщо частину покриває баланс, кабінет покаже «Карткою …, ще … — з балансу». - **З балансу** — якщо його вистачає, натисніть «Сплатити з балансу». - **Рахунком (IBAN)** — реквізити з'являться на сторінці; щойно банк проведе переказ, замовлення оплатиться саме. Сторінку можна закрити: стан завжди видно у «Замовленнях». Якщо на балансі вже є частина суми, натисніть «Врахувати баланс» — рахунок буде лише на різницю. Поле «Платник у рахунку й акті» під способами оплати вирішує, на кого виписати рахунок і акт — докладно в [Рахунки, акти і платники](https://zrazu.com/docs/account-documents.md). Після оплати ми реєструємо домен у реєстрі, зазвичай до хвилини. Перенесення домену від іншого реєстратора триває до 5 днів. Поки сертифікат SSL не випущено, гроші за нього повертаються повністю. ## Разові роботи («Нарахування») Іноді ми готуємо разову послугу поза прайсом. Вона з'являється в «Гроші» → «Замовлення» на погодження: спершу ви погоджуєте межу суми кнопкою «Погоджую», потім ми працюємо й списуємо лише фактичні витрати, решта повертається. Без вашої згоди більше межі ми не спишемо. Не погоджуєтесь — «Не погоджую». ## Якщо не вийшло - **«Банк відхилив оплату — гроші не списані»** — спробуйте іншу картку або рахунок на IBAN. - **«Банк ще не відповів — зарахуємо, щойно відповість»** — зачекайте. Якщо банк підтвердив оплату, гроші вже на балансі: подивіться «Рух грошей». - **«Банк відхилив оплату або вона не завершилась»** на сторінці замовлення — гроші не списано, домени не зареєстровано. Оплатіть ще раз. Імена не заброньовані: поки ви повторюєте оплату, їх може зареєструвати хтось інший. - **Імена зайняли, поки ви оформлювали** — вони не ввійшли в суму замовлення; решту можна оплатити. - **«Оплату карткою для цього продавця не підключено»** — поповніть переказом за рахунком. - **Гроші списано, а замовлення не оплачене** — напишіть у [підтримку](https://zrazu.com/docs/account-support.md) з номером замовлення. - **Замовлення не вдалося виконати** — команда ZRAZU повертає гроші на баланс. --- # Рахунки, акти і платники URL: https://zrazu.com/docs/account-documents/ Рахунки й акти потрібні бухгалтерії. Вони виписуються на **платника** — компанію, ФОП, фізичну особу чи нерезидента. Бачить і завантажує їх роль із доступом до грошей: бухгалтер, адміністратор або власник. ## Платники Розділ «Гроші» → «Платники». Поки платників немає, документи виписуємо на фізичну особу. Щоб рахунки й акти йшли на компанію чи ФОП, додайте її. 1. Натисніть «Додати платника». 2. Оберіть тип: компанія, ФОП, фізична особа чи нерезидент. Від типу залежить режим ПДВ: платнику ПДВ — документи з ПДВ, іншим — без ПДВ. 3. Впишіть назву так, як вона має стояти в рахунку, наприклад «ТОВ «Кава»» чи «ФОП Коваль Олена Миколаївна». 4. Вкажіть код: ЄДРПОУ — 8 цифр, РНОКПП — 10 цифр. Для платника ПДВ додайте ІПН (12 цифр для компанії, 10 — для ФОП). 5. За бажанням заповніть адресу — її друкуємо в рахунку й акті — і пошту для документів. 6. Натисніть «Зберегти платника». Якщо на платника вже були платежі, його назву, вид і коди змінити не можна, щоб не переписати минулі документи. Реквізити змінилися — додайте нового платника, а старого натисніть «Архівувати»: нові документи на нього не виписуватимемо, минулі лишаються як є. ## Де рахунки й акти Розділ «Гроші» → «Рахунки й акти», вкладка «Документи». Кожен рядок — рахунок або акт наданих послуг з номером, датою, замовленнями, станом і сумою. | Стан | Що означає | | --- | --- | | чекаємо оплату | рахунок виписано, гроші ще не надійшли | | сплачено | оплата зарахована | | сплачено частково — доплатіть | надійшла лише частина суми | | не потрібен — замовлення сплачено | замовлення оплачено іншим способом | | скасовано | рахунок скасовано | | виконано | акт: послугу надано | Рахунок з'являється, коли ви виписуєте його на поповнення чи оплату замовлень; акт — коли замовлення виконано. Під час оплати замовлення поле «Платник у рахунку й акті» вирішує, на кого виписати документи. Якщо платник у режимі замовлення (з ПДВ чи без) один, його обрано одразу; якщо кілька — оберіть потрібного. Обраний платник стає платником замовлення: на нього виписуємо і рахунок, і акт, хоч би як ви платили — з балансу, карткою чи переказом. Платника ще немає — посилання «Додати платника» поруч із полем. ## Як завантажити 1. Натисніть номер потрібного документа — відкриється його сторінка. 2. Натисніть «Друкувати» або «Зберегти PDF». Акти в кабінеті — копії без підпису. Підписаний примірник надішлемо на запит: напишіть у [підтримку](https://zrazu.com/docs/account-support.md). ## Історія грошей і вивантаження Вкладка «Історія проводок» показує кожну операцію з балансом простими словами: коли, що, з якого гаманця («Живі гроші» чи «Бонуси») і на яку суму. Історія не змінюється заднім числом: виправлення робимо окремою проводкою. Кнопка «Експорт CSV» завантажує історію файлом, який зручно віддати бухгалтеру. ## Якщо не вийшло - **«Рахунки й історія оплат доступні ролям з правом перегляду оплат»** — вашій ролі не дають доступу до грошей; попросіть власника змінити роль (див. [команда і ролі](https://zrazu.com/docs/account-team.md)). - **«Документів тут поки немає»** — нічого ще не виписано й не виконано. - **«Оберіть країну зі списку»** при додаванні нерезидента — оберіть країну з випадного списку. - **Платника не видно в списку** — перевірте, чи його не архівовано. --- # Звернення до підтримки в кабінеті URL: https://zrazu.com/docs/account-support/ Усі ваші звернення зібрані в розділі «Звернення». Це одна нитка на всі канали: пишіть з пошти, Telegram чи чату в кабінеті — уся переписка збереться в одному місці, а відповідати можна звідки зручно. ## Звідки можна писати - **Чат у кабінеті** — кнопка «Нове звернення» вгорі розділу. - **Пошта** — лист на адресу підтримки з пошти вашого акаунта. - **Telegram** — бот, прив'язаний одноразовим посиланням з кабінету. - Телефону немає: по телефону ми не можемо підтвердити вашу особу і не станемо цього робити. ## Нове звернення в кабінеті 1. Відкрийте «Звернення» й натисніть «Нове звернення». 2. Оберіть тему: «Домен і DNS», «Пошта», «Гроші й документи», «Вхід і доступ» або «Інше». 3. За потреби оберіть домен, якого це стосується. 4. У полі «Що сталося» опишіть: домен, що ви бачите і що очікували. Хоча б одне речення. 5. Скріншот чи документ додайте кнопкою «Додати файл»: до 5 файлів за раз, разом не більше 10 МБ. Виконувані файли не приймаємо. 6. Натисніть «Надіслати». Звернення отримає номер. У списку видно його стан: «прийнято», «взято в роботу», «чекаємо на вас» чи «закрито». Фільтри «Відкриті», «Закриті» й «Усі» допоможуть знайти потрібне. ## Коли відповідаємо Звичайне питання — до кінця наступного робочого вікна. Строки відповіді для конкретного звернення видно в списку. ## Чого підтримка не робить Змінити власника, змінити сервери імен, видати код перенесення, вивести гроші — лише ви, у кабінеті. Якщо ви попросите про таке листом чи в Telegram, ми надішлемо посилання «підтвердити в кабінеті»: так ніхто не зробить цього від вашого імені. Паролі, коди із застосунку й резервні коди нікому не надсилайте — ні в листі, ні в чаті. ## Якщо не вийшло - **«Не більше 5 файлів за раз»** / **«Файли разом — не більше 10 МБ»** — додайте менше або стисніть файли. - **«Звернення закрито давно — створіть нове»** — на старе вже не можна відповісти; відкрийте нове. - **«Забагато запитів»** — зачекайте трохи й повторіть. Якщо терміново, напишіть листом. - **«Вкажіть пошту, на яку відповісти»** або **«Перевірте пошту акаунта»** — перевірте, що пошта в профілі вказана вірно й підтверджена. --- # API ZRAZU — огляд для розробників URL: https://zrazu.com/docs/api-overview/ API ZRAZU дає скриптам і програмам те, що ви робите в кабінеті: прочитати список доменів, зони DNS і сертифікати, поставити домен на моніторинг. Працює за ключем, який ви випускаєте самі. Окремо є [MCP для ШІ-агентів](https://zrazu.com/docs/api-mcp.md): він відкритий, без ключа, але лише читає й показує паспорт публічного домену. ## Що вміє API за ключем Базова адреса: `https://api.zrazu.com/v1`. | Група | Що можна | | --- | --- | | Ключ | `GET /v1/api-keys/current` — які права, домени й строк має цей ключ | | Домени | `GET /v1/domains` — список доменів організації зі строком, автопродовженням і замками | | Моніторинг | `GET /v1/monitoring`, `POST /v1/monitoring`, `DELETE /v1/monitoring/{name}` — читати, ставити й знімати імена | | DNS | `GET /v1/dns/zones`, `GET /v1/dns/zones/{name}`; зміна записів і нові зони — див. [домени й DNS через API](https://zrazu.com/docs/api-domains-dns.md) | | SSL | `GET /v1/ssl/catalog`, `GET /v1/ssl/certificates`, файли сертифіката, замовлення й перевипуск | | Баланс | `GET /v1/balance` — баланс організації | Що доступно саме вашому ключу, залежить від його прав: див. [ключі API](https://zrazu.com/docs/api-keys.md). Реєструвати й продовжувати домени, змінювати контакти й замки, отримувати код перенесення через API не можна. Це свідомо: такі дії лишаються в кабінеті. ## Вхід за ключем Ключ передають лише в заголовку: ```sh curl -H "Authorization: Bearer zr_live_..." https://api.zrazu.com/v1/api-keys/current ``` Ключ в адресі запиту (`?key=…`) відхиляється: адреси потрапляють у журнали серверів і браузерів. Ключ починається з `zr_live_`. Ключ, який вставили в код сторінки сайту, не спрацює: API не дозволяє запити з чужих сторінок браузера, і це навмисно. ## Безпечний повтор змін Кожен запит, що щось змінює (`POST`, `PUT`, `DELETE`), потребує заголовка `Idempotency-Key` — довільний рядок до 120 символів, наприклад UUID. ```sh curl -X POST https://api.zrazu.com/v1/monitoring \ -H "Authorization: Bearer zr_live_..." \ -H "Idempotency-Key: 6f1d8c0e-5b2a-4c1f-9a3e-0d7b2e4a1c11" \ -H "Content-Type: application/json" \ -d '{"names": ["example.com.ua"]}' ``` - Повторний запит із тим самим ключем протягом 24 годин повертає першу відповідь із заголовком `Idempotent-Replayed: true` — друга зміна не виконується. - Той самий `Idempotency-Key` з іншим тілом запиту — помилка `422`. - Якщо перший запит ще виконується, повтор отримає `409` — спробуйте за мить. Якщо ключ видано з позначкою «Зміни — лише з моїм підтвердженням», зміна не виконується одразу: API відповідає `202` і `plan_id`, а людина підтверджує план у кабінеті в розділі «Плани». ## Формат відповідей і помилок Списки віддаються сторінками: `{"data": [...], "next": "…"}`. Щоб отримати наступну сторінку, передайте `next` як параметр `after`; `limit` — до 500, за замовчуванням 100. Помилка завжди має однакову форму: ```json { "error": { "code": "right_missing", "message": { "uk": "…", "en": "…" } } } ``` `code` стабільний — на нього можна спиратися в коді; текст у `message` може змінюватися. | Код | HTTP | Що означає | | --- | --- | --- | | `key_required` | 401 | немає заголовка `Authorization: Bearer zr_…` | | `key_invalid` | 401 | це не ключ ZRAZU або в ньому помилка | | `key_unknown` | 401 | ключ не знайдено | | `key_revoked`, `key_expired`, `key_idle` | 401 | ключ відкликано, строк минув або його не викликали 90 днів | | `key_in_query` | 400 | ключ передано в адресі запиту | | `ip_not_allowed` | 403 | ключ не працює з цієї IP-адреси | | `right_missing` | 403 | у ключа немає потрібного права | | `out_of_scope` | 403 | ім'я поза доменами ключа | | `not_found` | 404 | зону чи сертифікат не знайдено | | `idempotency_key_required` | 400 | немає заголовка `Idempotency-Key` | | `idempotency_key_reused` | 422 | `Idempotency-Key` уже використано з іншим запитом | | `rate_limited` | 429 | забагато викликів; заголовок `Retry-After` — через скільки секунд повторити | ## Ліміти | Що | Ліміт | | --- | --- | | Один ключ | 120 викликів на хвилину і у 25 разів більше за годину | | Одна IP-адреса | 240 викликів на хвилину | | Змінювальні виклики організації | 1000 на добу — всі ключі разом | Для окремих організацій ліміт на хвилину може бути іншим. Відповідь `429` містить `Retry-After`: почекайте стільки секунд і повторіть запит з тим самим `Idempotency-Key`. ## Якщо не вийшло - **`401 key_required`.** Додайте заголовок `Authorization: Bearer zr_live_…` — саме `Bearer` і пробіл перед ключем. - **`401 key_unknown` або `key_invalid`.** Перевірте, чи ключ скопійовано повністю, без пробілу в кінці. Якщо ключ загубили, випустіть новий: показати старий не можна. - **`403 right_missing`.** Ключ не має потрібного права. Відкрийте `GET /v1/api-keys/current`, перегляньте `permissions`, за потреби випустіть новий ключ з потрібним правом. - **`403 ip_not_allowed`.** Для ключа задано список IP-адрес, а запит прийшов з іншої. Додайте адресу в кабінеті або випустіть новий ключ. - **`429 rate_limited`.** Зменште частоту запитів і дотримуйтесь `Retry-After`. - **`400 idempotency_key_required`.** Додайте заголовок `Idempotency-Key` до запиту, що змінює дані. Ціни на послуги — на сторінці [цін](https://zrazu.com/prices/). --- # Ключі API — як створити і обмежити URL: https://zrazu.com/docs/api-keys/ Ключ API — це пароль для програми. Він дозволяє лише те, що ви вибрали: окремі дії з окремими доменами. Ключ ніколи не сильніший за людину, яка його випустила, і перевіряється при кожному виклику. Ключі бачать власник, адміністратор і технік організації. ## Створити ключ 1. Відкрийте [кабінет](https://vse.zrazu.com/team/api-keys/) → «Команда» → «API-ключі». 2. Натисніть «Новий ключ». 3. Крок «Шаблон»: виберіть готовий набір («Тільки читання», «Моніторинг», «Сертифікати SSL», «Зони DNS — для менеджера», «Зони DNS — повний доступ») або «Свій набір». 4. Крок «Права»: за потреби змініть, що саме дозволити. 5. Крок «Домени»: «Усі домени організації, включно з майбутніми» або «Лише вибрані» (до 100 доменів). 6. Крок «Умови»: назва, чий ключ, дозволені IP-адреси, строк дії. 7. Крок «Підсумок»: перевірте, що ключ зможе, і натисніть «Підтвердити вхід і випустити». 8. Скопіюйте ключ кнопкою «Копіювати» і збережіть у менеджері паролів або секретах вашого сервісу. Натисніть «Я скопіював(-ла) ключ». Ключ показується один раз. Ми зберігаємо лише його відбиток і не можемо показати ключ вдруге. Загубили — відкличте і випустіть новий. Ключ виглядає так: `zr_live_…` і потім довгий рядок. Ніколи не вставляйте його в чат, листи чи код сторінок сайту. ## Права Права називаються за схемою «що.дія». Клас показує найгірший наслідок: 0 — читання, 1 — оборотні зміни, 2 — гроші. | Право | Що дозволяє | Клас | | --- | --- | --- | | `domain.read` | читати домени, строки й замки — без контактів | 0 | | `monitor.read` | читати стан моніторингу | 0 | | `monitor.edit` | ставити й знімати домени з моніторингу | 1 | | `dns.read` | читати зони DNS і їхні записи | 0 | | `dns.edit` | змінювати записи зон і перевіряти делегування — з листом і журналом | 1 | | `dns.zone_create` | додавати нові зони — лише для ключа на всі зони | 1 | | `keys.zones_grant` | додавати й прибирати зони в інших ключах організації — права й строк не змінює | 1 | | `ssl.read` | читати сертифікати й завантажувати їхні файли | 0 | | `ssl.reissue` | перевипускати сертифікат із новим ключем у межах оплаченого строку | 1 | | `ssl.order` | замовляти сертифікати з балансу організації | 2 | | `billing.read` | бачити баланс організації — без рахунків і платежів | 0 | Права `dns.zone_create` і `keys.zones_grant` діють лише для ключа на всі домени й зони організації. Ключ не може більше, ніж ваша роль в організації: якщо роль цього не дає, право в кабінеті недоступне. ## Чого ключ не зможе ніколи Реєструвати й продовжувати домени, змінювати контакти й замки, отримувати код перенесення, відкликати сертифікати. Також ключ не керує людьми й ключами, способами оплати, другим фактором і поштою входу, не видаляє акаунт. Ці дії є лише в кабінеті. ## Умови ключа - **Назва** — для вас, щоб відрізнити ключ у списку; до 80 символів. - **Чий ключ.** «Особистий» перестане працювати, якщо вас приберуть з організації. «Організації» — для CI й інтеграцій, переживе зміну людей. - **Дозволені IP-адреси** — одна адреса або мережа (CIDR) на рядок, до 20. Ключ працюватиме лише з них. Для ключа з правом `ssl.order` список адрес обов'язковий: такий ключ витрачає гроші. - **Строк дії.** Для класу 0 за замовчуванням і максимум — 365 днів. Для класу 1 за замовчуванням 90 днів, максимум 365. Для класу 2 (гроші) за замовчуванням 30 днів, максимум 90. - **«Зміни — лише з моїм підтвердженням».** Ключ пропонуватиме зміну планом, а застосовуватимете ви — у «Планах». Для SSL і зон DNS ця опція поки недоступна. Ключ, який 90 днів ніхто не викликав, вимикається сам: забутий ключ у старому репозиторії — найчастіше джерело витоку. ## Відкликати ключ 1. Відкрийте «Команда» → «API-ключі». 2. У рядку ключа натисніть «Відкликати» і підтвердіть: «Так, відкликати». Ключ перестає працювати одразу. Якщо підозрюєте витік і не знаєте, який ключ, натисніть «Відкликати всі»: усі діючі ключі організації (для техніка — ваші особисті) зупиняться негайно. Потрібне підтвердження входу. ## Перевірити, що ключ працює ```sh curl -H "Authorization: Bearer zr_live_..." https://api.zrazu.com/v1/api-keys/current ``` Відповідь покаже права, домени, дозволені IP і строк дії ключа. Подробиці про виклики — в [огляді API](https://zrazu.com/docs/api-overview.md). ## Якщо не вийшло - **Немає пункту «API-ключі».** Ключі бачать власник, адміністратор і технік. Попросіть власника організації змінити роль або випустити ключ. - **Право неактивне й підписано «ваша роль цього не дає».** Ключ не може мати права, якого немає у вашої ролі. - **Кнопка випуску просить підтвердити вхід.** Це захист: випуск ключа потребує повторного підтвердження входу. - **Забагато ключів.** В організації може бути до 50 діючих ключів і до 20 нових за добу; відкличте непотрібні. - **Ключ показує `401 key_expired` чи `key_idle`.** Строк минув або ключ 90 днів не викликали — випустіть новий. --- # Домени й DNS через API — приклади URL: https://zrazu.com/docs/api-domains-dns/ Усі приклади — з ключем-заглушкою `zr_live_...`. Підставте свій ключ із [кабінету](https://vse.zrazu.com/team/api-keys/). Загальні правила (вхід, повтор, помилки, ліміти) — в [огляді API](https://zrazu.com/docs/api-overview.md). ## Список доменів Потрібне право `domain.read`. ```sh curl -H "Authorization: Bearer zr_live_..." "https://api.zrazu.com/v1/domains?limit=100" ``` У відповіді для кожного домену: `name`, `expires_at`, `autorenew`, `transfer_lock`, `contact_lock`, `frozen`. Якщо сторінок більше, передайте `next` з відповіді як `after`. ## Моніторинг Права `monitor.read` і `monitor.edit`. ```sh # стан моніторингу curl -H "Authorization: Bearer zr_live_..." https://api.zrazu.com/v1/monitoring # поставити на нагляд до 100 імен за виклик curl -X POST https://api.zrazu.com/v1/monitoring \ -H "Authorization: Bearer zr_live_..." \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{"names": ["example.com.ua", "example.net"]}' # зняти з нагляду curl -X DELETE https://api.zrazu.com/v1/monitoring/example.net \ -H "Authorization: Bearer zr_live_..." \ -H "Idempotency-Key: $(uuidgen)" ``` У відповіді на додавання поле `skipped` перелічує рядки, які не вдалося прийняти, із причиною: помилка в написанні не зникає мовчки. ## Прочитати зону DNS Право `dns.read`. ```sh # список зон curl -H "Authorization: Bearer zr_live_..." https://api.zrazu.com/v1/dns/zones # записи однієї зони curl -H "Authorization: Bearer zr_live_..." https://api.zrazu.com/v1/dns/zones/example.com.ua ``` Відповідь на другий запит: ```json { "name": "example.com.ua", "serial": 12, "records": [ { "name": "@", "type": "A", "ttl": 300, "content": "203.0.113.10", "prio": null }, { "name": "www", "type": "CNAME", "ttl": 300, "content": "example.com.ua.", "prio": null } ] } ``` Імена записів — відносно зони: `@` для самої зони, `www` для `www.example.com.ua`. `serial` знадобиться для зміни. ## Змінити записи зони Право `dns.edit`. Зміна відбувається так: прочитали зону, змінили список, надіслали його цілком разом із `base_serial` — номером, який ви прочитали. ```sh curl -X PUT https://api.zrazu.com/v1/dns/zones/example.com.ua \ -H "Authorization: Bearer zr_live_..." \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{ "base_serial": 12, "summary": "новий сервер сайту", "records": [ { "name": "@", "type": "A", "ttl": 300, "content": "203.0.113.20" }, { "name": "www", "type": "CNAME", "ttl": 300, "content": "example.com.ua." } ] }' ``` - У списку мають бути **всі** записи зони, а не лише змінені: що не надіслано, буде видалено. - Записів у зоні — до 500. - Якщо зону змінили між вашим читанням і записом, відповідь `409`: прочитайте зону знову й повторіть. - Перед записом зона перевіряється так само, як у кабінеті: помилка в записі — `409` без змін, попередження повертаються в полі `warnings`. - Після зміни власникам і адміністраторам приходить лист, а зміна лишається в історії зони з назвою ключа. Не більше 60 змін на годину на ключ. ## Нова зона та перевірка делегування Право `dns.zone_create` — тільки для ключа на всі зони організації. ```sh curl -X POST https://api.zrazu.com/v1/dns/zones \ -H "Authorization: Bearer zr_live_..." \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{"name": "example.com.ua", "import_current": true}' ``` - Для домену, зареєстрованого в ZRAZU, зона вмикається на наших серверах імен. З `import_current: true` записи, що зараз відповідають у попереднього провайдера, переносяться. - Для домену в іншого реєстратора створюється заявка. Вкажіть у реєстратора сервери імен із відповіді, потім запустіть перевірку: ```sh curl -X POST https://api.zrazu.com/v1/dns/zones/example.com.ua/verify \ -H "Authorization: Bearer zr_live_..." \ -H "Idempotency-Key: $(uuidgen)" ``` Відповідь `202` означає, що перевірку запущено. Запитайте `GET /v1/dns/zones` пізніше, щоб побачити статус. ## Якщо не вийшло - **`403 right_missing`.** Потрібного права немає в ключа — див. [ключі API](https://zrazu.com/docs/api-keys.md). - **`403 out_of_scope`.** Домен поза списком доменів ключа. - **`404 not_found`.** Зони немає, вона не ваша або не входить у домени ключа — відповідь однакова. - **`409` під час `PUT`.** Зону змінили після вашого читання або запис містить помилку. Прочитайте зону знову й повторіть із новим `base_serial`. - **`503 dns_closed`.** DNS ZRAZU тимчасово не приймає змін; повторіть пізніше. - **`409 zone_exists`.** Зону для цього домену вже створено. - **`429`.** Забагато змін: зачекайте `Retry-After` секунд. --- # MCP для ШІ-агентів — паспорт домену URL: https://zrazu.com/docs/api-mcp/ MCP — спосіб дати ШІ-асистенту доступ до зовнішнього інструмента. Сервер ZRAZU відкритий: ключ і реєстрація не потрібні. Він має один інструмент — паспорт домену, і лише читає. ## Що отримує агент Паспорт домену: хто реєстратор, коли домен зареєстровано й коли спливає, статуси реєстру людською мовою, коли ім'я може звільнитися, сервери імен, стан DNS, сертифіката сайту й пошти з готовими виправленнями. - Через MCP нічого не можна змінити: ні домен, ні записи, ні рахунок. - Персональних даних власника домену ми не віддаємо ніколи. - Слова «вільно» через MCP немає. Довести, що ім'я вільне, може лише реєстр, і лише в момент покупки. Якщо джерела не підтвердили, що домен зайнятий, відповідь — «не змогли перевірити». ## Підключити Адреса сервера: `https://api.zrazu.com/mcp`. Автентифікація — «без автентифікації». **Claude, ChatGPT та інші клієнти з віддаленими MCP-серверами.** 1. Відкрийте налаштування підключень (конекторів) вашого клієнта і додайте власний MCP-сервер. 2. Вкажіть адресу `https://api.zrazu.com/mcp`. 3. У полі автентифікації виберіть «без автентифікації». **Claude Code:** ```sh claude mcp add --transport http zrazu https://api.zrazu.com/mcp ``` **Cursor, VS Code та інші клієнти з конфігурацією JSON:** ```json { "mcpServers": { "zrazu": { "type": "http", "url": "https://api.zrazu.com/mcp" } } } ``` Транспорт — Streamable HTTP. Кожен запит — окремий POST, відповідь — один JSON. ## Інструмент `domain_passport` Вхід — `domain`: ім'я домену (`kava.com.ua`), адреса сторінки (`https://kava.com.ua/menu`) або пошти (`hello@kava.com.ua`). Домен виділяється сам, до 300 знаків. Приклад запиту до агента: «Перевір домен kava.com.ua: коли спливає і чи все гаразд з поштою». Вихід — паспорт у JSON і той самий текст: | Поле | Що це | | --- | --- | | `state` | `taken` — домен зайнятий; `unknown` — не змогли перевірити | | `phrase` | одне речення про домен людською мовою | | `bars` | чотири смуги стану: `domain`, `dns`, `site`, `mail` | | `statuses` | статуси реєстру з поясненням | | `lifecycle` | етап, дати реєстрації й закінчення, коли ім'я може звільнитися | | `nameservers`, `registrar` | сервери імен і реєстратор | | `problems` | знайдені проблеми, чим загрожують, готове виправлення | | `checked_at` | коли саме дивилися | Якщо ім'я не вдалося перевірити, відповідь коротка: `state: "unknown"`, причина `reason` і `retry: true` — варто спитати пізніше. ## Запит вручну Сесія починається з `initialize`; сервер повертає номер сесії в заголовку `Mcp-Session-Id`. Номер діє 24 години. ```sh curl -si https://api.zrazu.com/mcp -H 'content-type: application/json' \ -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"curl","version":"1"}}}' \ | grep -i mcp-session-id curl -s https://api.zrazu.com/mcp -H 'content-type: application/json' -H 'Mcp-Session-Id: <номер>' \ -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"domain_passport","arguments":{"domain":"kava.com.ua"}}}' ``` ## Ліміти | Що | Ліміт | | --- | --- | | Паспорт через MCP | 30 на хвилину і 300 на годину на сесію | | Усі сесії з однієї адреси | у 10 разів більше | | Нові сесії з однієї адреси | 600 на годину | Паспорт кешується до 6 годин (для домену в черзі на видалення — 15 хвилин). Коли саме дивилися, видно в `checked_at`. ## Приватність Кожен запит записується в журнал без вашої адреси й без імені домену: лише інструмент, результат і час. Кожне перевірене ім'я на 90 днів потрапляє у стоп-лист: ми не беремо його собі, у стоп-листі лежить відбиток імені, а не саме ім'я. ## Якщо не вийшло - **Відповідь `404`.** Номер сесії прострочено (діє 24 години). Почніть з `initialize` знову. - **Результат з `isError: true`.** Агенту надіслано ім'я без зони, IP-адресу замість домену або занадто довгий рядок. Текст помилки можна показати людині. - **`state: "unknown"` і `retry: true`.** Джерела не підтвердили стан або вичерпано ліміт. Спитайте за кілька хвилин. - **Клієнт просить ключ.** Виберіть «без автентифікації»: ключ API тут не потрібен. - Щоб працювати з вашими доменами (список, DNS, сертифікати), використовуйте [API за ключем](https://zrazu.com/docs/api-overview.md). --- # Як стати реселером ZRAZU URL: https://zrazu.com/docs/resellers-program/ Реселер продає домени .UA і сертифікати SSL своїм клієнтам зі свого біллінгу, а у ZRAZU купує за оптовими цінами. Підходить хостерам, реєстраторам і всім, хто вже веде облік клієнтів у біллінгу (WHMCS, BILLmanager, HostBill та інших). Якщо ви веб-студія і просто хочете вести домени клієнтів в одному кабінеті, вам потрібна інша програма: [кабінет веб-студії](https://zrazu.com/docs/resellers-studio.md). ## Як це влаштовано Шлях один, і весь він іде через кабінет, без листів у підтримку: 1. Анкета в кабінеті. 2. Договір. 3. Пісочниця для перевірки вашого модуля. 4. Бойовий логін. Старий постачальник може працювати паралельно: переключати все одразу не потрібно. ## Крок 1. Подайте анкету Анкету подає власник або адміністратор організації: саме вони підписують договір. Іншим учасникам команди кабінет покаже лише статус заявки. 1. Увійдіть у [кабінет](https://vse.zrazu.com/reseller/) і відкрийте розділ «Реселер». Якщо ваша організація ще не реселер, там буде сторінка «Стати реселером». 2. Оберіть біллінг. Для WHMCS у нас є готові модулі доменів і SSL. Інший біллінг підключається за інструкцією EPP: тоді вкажіть його назву. 3. Позначте зони, які плануєте продавати («Усі» або окремі), і чи будете продавати SSL. 4. Вкажіть, скільки нових доменів на місяць. Достатньо приблизно: це лише для старту. 5. Введіть ЄДРПОУ (8 цифр, юрособа) або РНОКПП ФОП (10 цифр). На цю особу укладемо договір. 6. Вкажіть, з ким укладати договір: ім’я та прізвище, телефон і пошту. Сайт і коментар можна пропустити. 7. Натисніть «Надіслати заявку». ## Крок 2. Дочекайтеся відповіді Після відправки в кабінеті з’явиться «Заявку отримано». Менеджер зв’яжеться за поштою з анкети, зазвичай протягом двох робочих днів, і домовиться про договір. Якщо заявку не прийнято, в кабінеті буде позначка «Попередню заявку не прийнято» з причиною. Після цього можна подати нову. ## Крок 3. Пісочниця і бойовий логін Після договору в розділі «Реселер» → «Підключення EPP» ви самі створюєте логін пісочниці, підключаєте до неї свій модуль і проходите звичайний сценарій: реєстрація, перенесення та інше. Гроші в пісочниці тестові. Бойовий логін заводить менеджер після перевірки. Докладно: [підключення EPP](https://zrazu.com/docs/resellers-epp.md). Для WHMCS потрібні ще модулі: [модулі для WHMCS](https://zrazu.com/docs/resellers-whmcs.md). ## Що бере на себе реселер Підключення діє за договором. Реселер: - перевіряє своїх клієнтів і їхнє право розпоряджатися доменом; - відповідає за достовірність даних власника домену, переданих у контактах; - приймає скарги на зловживання (abuse) щодо своїх клієнтів і виконує наші вимоги в узгоджений строк; - не обіцяє своїм клієнтам більше, ніж обіцяємо ми. ## Чого немає - Міжнародних зон (gTLD): поки немає каналу. - Емуляції чужих HTTP API. Для цього є наш API з ключами. Про ціни: [прайс реселера](https://zrazu.com/docs/resellers-prices.md). Короткий опис програми є на сторінці [https://zrazu.com/resellers/](https://zrazu.com/resellers/). ## Якщо не вийшло - **«Заявку подає власник або адміністратор організації — вони підписують договір».** Увійдіть під власником або адміністратором, або попросіть їх подати анкету. - **«Заявка вже чекає на розгляд».** Одна заявка вже подана, нову подавати не потрібно. Чекайте на лист від менеджера. - **«Організація вже реселер».** Ваша організація вже в програмі: заходьте в «Реселер» → «Підключення EPP». - **«Договір реселера закрито».** Нова анкета не потрібна: щоб відновити співпрацю, напишіть менеджеру через «Підтримку». - **«ЄДРПОУ — 8 цифр (юрособа) або РНОКПП — 10 цифр (ФОП)».** Перевірте номер: тільки цифри, без літер. - **«Телефон — цифри, можна з «+», пробілами й дужками»** або **«Пошта для договору — у вигляді name@example.com».** Виправте відповідне поле. - **«Сайт — адреса на кшталт example.com.ua».** Вкажіть адресу сайту або залиште поле порожнім. - **«Оберіть зони зі списку тих, що ми продаємо».** Позначте хоча б одну зону зі списку або «Усі». --- # Підключення EPP у кабінеті реселера URL: https://zrazu.com/docs/resellers-epp/ Розділ «Реселер» → «Підключення EPP» у [кабінеті](https://vse.zrazu.com/reseller/): тут ваш біллінг з’єднується з ZRAZU. Логіни, паролі, адреси IP, сертифікат і запобіжники бачать і змінюють власник, адміністратор і технік організації. Пароль бойового логіна задає тільки власник або адміністратор. Розділ з’являється після договору. Як отримати договір: [як стати реселером](https://zrazu.com/docs/resellers-program.md). ## Адреси - **Пісочниця:** `epp-test.zrazu.com`, порт 1700. Тестовий баланс, гроші не списуються. - **Бойовий сервер:** `epp.zrazu.com`, порт 700. З’єднання захищене TLS 1.2 або новішим. Ліміти одночасних сесій і команд за хвилину кабінет показує в самому розділі. ## Крок 1. Отримайте логін пісочниці Логін пісочниці ви беріть самі: один на реселера. 1. Знайдіть блок «Пісочниця epp-test». 2. Придумайте логін: 3–16 знаків, латиниця, цифри, дефіс і підкреслення; першою має бути літера. 3. Вкажіть адреси IP, з яких ваш біллінг ходитиме в пісочницю: від 1 до 20, по одній на рядок або через кому. 4. Натисніть «Отримати логін пісочниці». 5. Одразу задайте логіну пароль (крок 2). Бойовий логін і профіль відповідей заводить менеджер після перевірки в пісочниці. ## Крок 2. Задайте пароль Пароль задаєте ви. Ми його не бачимо і не можемо показати, лише скинути на ваше прохання. 1. У таблиці «Логіни EPP» знайдіть свій логін і натисніть «Задати пароль». 2. Введіть пароль двічі або натисніть «Згенерувати». 3. Якщо пароль згенерований, скопіюйте його в модуль біллінгу до того, як закриєте вікно: потім ми його показати не зможемо. 4. Натисніть «Зберегти пароль». Вимоги: 16–64 знаки, латиниця, цифри й розділові знаки без пробілів; щонайменше три види з чотирьох (малі літери, великі літери, цифри, знаки); логін у паролі не допускається. 16 знаків підходить усім модулям, а профіль rfc не приймає довших. Новий пароль замінює старий одразу. Біллінг, у якому ви ще не оновили налаштування, втратить доступ до логіна. Спершу підготуйте налаштування модуля, потім підтверджуйте. ## Крок 3. Адреси IP і сертифікат Адреса IP з білого списку обов’язкова: з адреси, якої немає у списку, з’єднання закривається. Додайте вихідну адресу сервера вашого біллінгу до кожного логіна: кнопка «Налаштувати» в таблиці логінів. Можна додати публічну адресу IPv4 або IPv6, або мережу не ширшу за /24 (для IPv6 /64). Клієнтський сертифікат за бажанням. Створіть ключ і сертифікат у себе й завантажте тільки сертифікат: закритий ключ лишається у вас. Сервер звіряє відбиток сертифіката під час входу. Для просторів імен Hostmaster сертифікат обов’язковий. Кожна зміна адрес чи сертифіката закриває відкриті сесії цього логіна й надсилається листом власникам і адміністраторам. ## Запобіжники - **Масові дії.** Якщо кодів перенесення, змін NS і власників за годину або добу більше за поріг, наступні команди не відхиляються, а чекають вашого підтвердження в блоці «Очікують підтвердження» вгорі розділу. Підтвердити можна тільки з двофакторною автентифікацією, відмовити можна одразу. Якщо не вирішити, команда сама знімається через кілька годин, а підсумок біллінг отримає в poll. - **Захист від угону логіна.** Зміна власника під замком контактів, зняття замка чи код перенесення протягом 72 годин після зміни власника виконуються тільки з вашим підтвердженням. - **Щоденне зведення.** Скільки кодів перенесення, змін NS і власників виконано за день. - **«Відкликати доступ».** Кнопка в розділі: усі сесії закриваються, паролі всіх логінів замінюються. Біллінг не працюватиме з ZRAZU, поки ви не задасте нові паролі. Адреси IP і сертифікати лишаються. ## Інструкція EPP і перенесення портфеля - [Інструкція EPP](https://vse.zrazu.com/reseller/manual/): повна партнерська інструкція з командами, кодами відповідей, пісочницею і безпекою. Вона українською, а кабінет показує її в рамці сторінки. Бачать її ті самі ролі, що й розділ «Підключення EPP». - [Перенесення портфеля](https://vse.zrazu.com/reseller/import/): домени від іншого постачальника переносяться пачкою «домен ; код» за оптовим прайсом. Без коду перенести домен не можна. Для WHMCS є готові модулі: [модулі для WHMCS](https://zrazu.com/docs/resellers-whmcs.md). ## Якщо не вийшло - **З’єднання закривається з кодом 2501.** Адреси вашого сервера немає у білому списку логіна. Додайте її в «Налаштувати». - **«Логін … уже зайнятий — оберіть іншу назву».** Придумайте інший логін. - **«Логін пісочниці в вас уже є — він один на реселера».** Задайте пароль наявному логіну або змініть його адреси IP. - **«Вкажіть від 1 до 20 публічних адрес IP».** Приватні й некоректні адреси не приймаються. - **«Паролі не збігаються» чи «Пароль має бути від 16 до 64 знаків».** Перевірте обидва поля. - **«Файл не прийнято: він завеликий для сертифіката».** Завантажуйте сам сертифікат (BEGIN CERTIFICATE), а не ланцюжок чи архів. - **Розділ не відкривається чи порожній.** Його бачать лише власник, адміністратор і технік організації-реселера. Якщо ви реселер і доступу немає, напишіть менеджеру. --- # Прайс реселера в кабінеті URL: https://zrazu.com/docs/resellers-prices/ Прайс реселера показує вашу оптову ціну поруч із роздрібною ціною вітрини ZRAZU: окремо для доменів і для SSL. Це та сама ціна, за якою працює кошик у кабінеті і ваш модуль. Конкретні суми в документації не наводимо: вони залежать від зони, обсягу й вашого договору. Загальні ціни вітрини: [https://zrazu.com/prices/](https://zrazu.com/prices/). ## Де знайти [Кабінет](https://vse.zrazu.com/reseller/prices/) → «Реселер» → «Прайс». Прайс бачать власник, адміністратор і технік організації-реселера. Із розділу «Підключення EPP» сюди веде кнопка «Відкрити прайс». Прайс завжди «на сьогодні»: якщо зону чи сертифікат додали або прибрали, чи змінилася ціна, список оновлюється сам. Про зміну прайса ми попереджаємо за 30 днів. Виняток: зміни ціни реєстру і курсу, вони діють у день набуття чинності. ## Вкладка «Домени» 1. Відкрийте вкладку «Домени». 2. Якщо зон багато, скористайтеся полем «Знайти зону». 3. Для кожної зони і операції дві колонки: «Опт» (ваша ціна) і «Роздріб» (ціна вітрини для гостя). Як читати таблицю: - Ціна вказана за 1 рік. Кілька років реєстрації чи продовження коштують кратно. Перенесення й відновлення завжди на 1 рік. - Прочерк «—» означає, що такої операції в цій зоні немає. Позначка «лише перенесення» означає, що зону можна лише переносити. - Роздріб показано з ПДВ або без: як у вашому договорі. - Якщо в договорі індивідуальні умови, під прайсом буде напис «Опт — за вашим індивідуальним прайсом». ### Валюта Оптовий прайс у доларах США. З балансу списується гривня за курсом ПриватБанку (безготівковий, продаж) на день операції. Курс і дата, на яку він діє, видно над таблицею. Гривневу суму кабінет показує під доларовою. Поки свіжого курсу немає, гривня не показується, тільки долар. Сума резервується в момент прийняття команди. Якщо реєстр відмовив, резерв повертається на баланс. ## Вкладка «SSL-сертифікати» Тут сертифікати по брендах: опт, роздріб, а також час отримання і перевірки, тип (один домен, wildcard або кілька імен в одному сертифікаті). Ціни в гривні за 1 рік. Це ті самі ціни, що в кабінеті й у [модулях для WHMCS](https://zrazu.com/docs/resellers-whmcs.md). Якщо SSL у вашому договорі ще не підключено, оптові ціни діють після підключення, а до того сертифікати купуються за роздрібною ціною. Щоб підключити, напишіть менеджеру. ## Якщо не вийшло - **Сторінка пише, що прайс бачать власник, адміністратор і технік.** У вашої ролі немає доступу. Попросіть колегу з такою роллю або менеджера. - **«Такої зони в прайсі немає».** Зони поки немає у вашому прайсі або вона написана з помилкою. Крапку на початку можна не вводити. - **«Зон у прайсі поки немає» чи «Сертифікатів у прайсі поки немає».** Напишіть менеджеру. - **Немає гривневих сум.** Свіжого курсу ще немає. Гривня з’явиться, щойно він з’явиться. --- # Модулі ZRAZU для WHMCS URL: https://zrazu.com/docs/resellers-whmcs/ Для WHMCS у нас готові два модулі. «ZRAZU Domains» продає домени через EPP (модуль реєстратора). «ZRAZU SSL» продає сертифікати через API (серверний модуль). Їх можна ставити разом або по одному. Модулі доступні реселерам після договору: [як стати реселером](https://zrazu.com/docs/resellers-program.md). Усе нижче робиться в розділі [«Реселер»](https://vse.zrazu.com/reseller/) кабінету, його бачать власник, адміністратор і технік. ## Що знадобиться - Чинний договір реселера і логін пісочниці EPP: [підключення EPP](https://zrazu.com/docs/resellers-epp.md). - Доступ до сервера WHMCS і його вихідна адреса IP (її потрібно додати до логіна). - Для SSL: SSL у вашому договорі. Якщо його ще не підключено, напишіть менеджеру. ## Крок 1. Завантажте архів 1. У розділі «Реселер» знайдіть блок «Модулі WHMCS». 2. Оберіть архів під свою версію: є пакет для WHMCS 8 і новіших (PHP 8.1+) та пакет для WHMCS 7.4–8.x на PHP 7.0–8.3. 3. Натисніть «Завантажити» і звірте контрольну суму з тією, що показано поруч. Архів закритий: не публікуйте його і не передавайте третім особам. У ньому обидва модулі, їхні README, журнал змін та інструкція EPP. Кожне завантаження записується в журнал організації. ## Крок 2. Модуль «ZRAZU Domains» 1. Розпакуйте архів і скопіюйте вміст папки `zrazu-domains/` у корінь WHMCS. 2. У WHMCS відкрийте «Система» → «Налаштування» → «Реєстратори доменів» і активуйте «ZRAZU Domains». 3. Впишіть адресу EPP, логін і пароль, увімкніть тестовий режим. Адреси й логін беріть із розділу «Підключення EPP». 4. Перевірте реєстрацію, продовження, перенесення і видалення. Пісочниця відповідає на ці команди кодом 1001, а підсумок приходить у poll приблизно за 30 секунд. 5. Коли перевірка пройшла, у WHMCS у «Ціни на домени» оберіть «ZRAZU Domains» для потрібних зон і перемкніть модуль на бойовий логін, який вам заведе менеджер. ## Крок 3. Модуль «ZRAZU SSL» Спершу перевірте його в пісочниці. Там ті самі права й відповіді, що й у робочому режимі, але гроші тестові, а сертифікати від недовіреного тестового центру. 1. Скопіюйте вміст папки `zrazu-ssl/` у корінь WHMCS разом із хуком `includes/hooks/zrazussl.php`. 2. У розділі «Реселер» знайдіть блок «Тестовий ключ — пісочниця SSL». Вкажіть адреси сервера WHMCS і натисніть «Тестовий ключ». Скопіюйте ключ одразу: ми його більше не покажемо. 3. У WHMCS: «Сервери» → «Add New Server», тип «ZRAZU SSL». Впишіть адресу API пісочниці (вона вказана в блоці «Інструкція з інтеграції») і ключ у поле Password. Натисніть «Test Connection». 4. Створіть товар типу «Other», модуль «ZRAZU SSL», режим оплати «За договором». 5. Пройдіть перевірки з README модуля, зокрема імена-тригери відмов. ## Крок 4. Бойовий ключ для SSL 1. У блоці «SSL за договором і модуль WHMCS» вкажіть адреси сервера вашого WHMCS: по одній на рядок, публічні IPv4 або IPv6, мережа не ширша за /24 і /64. 2. За бажанням дайте ключу назву і задайте денний ліміт витрат у гривнях: скільки модуль може витратити з балансу за добу. Понад ліміт замовлення відхиляються з причиною. Змінити ліміт можна новим ключем. 3. Натисніть «Випустити ключ «Модуль WHMCS (SSL)»». 4. Скопіюйте ключ і вставте в налаштування модуля, а потім натисніть «Я скопіював(-ла) ключ». Більше ми його не покажемо. Усі ключі потім видно в розділі «Ключі API». 5. У WHMCS додайте другий сервер «ZRAZU SSL» з бойовою адресою API та цим ключем. Ключ діє обмежений строк, працює лише з адрес вашого сервера WHMCS, а випуск сертифіката вимагає другого фактора. Строк дії показано в кабінеті. ## Інші біллінги Готові модулі є для WHMCS. Інший біллінг підключається по EPP за інструкцією: [підключення EPP](https://zrazu.com/docs/resellers-epp.md). ## Якщо не вийшло - **З’єднання закривається з кодом 2501.** Вихідної адреси вашого сервера WHMCS немає у білому списку логіна EPP. Додайте її в «Налаштувати» біля логіна. - **Бойова адреса не приймає тестовий ключ.** Тестовий ключ працює лише на адресі пісочниці. Для бойового режиму випустіть бойовий ключ. - **Втрачено ключ.** Показати його вдруге неможливо. Випустіть новий і замініть у налаштуваннях модуля. - **Замовлення відхилено через ліміт.** Перевищено денний ліміт витрат ключа. Випустіть новий ключ з іншим лімітом. - **Написано «Архів ще не зібрано — напишіть менеджеру».** Напишіть менеджеру через «Підтримку». - **Інше питання по модулю.** Подивіться README в архіві, а якщо відповіді там немає, напишіть у «Підтримку». --- # Кабінет веб-студії URL: https://zrazu.com/docs/resellers-studio/ Програма для веб-студій дає один кабінет для доменів усіх ваших клієнтів: ступінь за кількістю доменів, список клієнтів, виписка за місяць із розбивкою і перенесення бази хвилями. Вступ безкоштовний, без договору й авансу. Це не те саме, що програма реселера. Реселер продає домени зі свого біллінгу, а студія купує у власному кабінеті для своїх клієнтів. Реселерам: [як стати реселером](https://zrazu.com/docs/resellers-program.md). Умови програми для студій також є на сторінці [https://zrazu.com/studios/](https://zrazu.com/studios/). ## Що отримує студія - Інвентаризацію всіх доменів клієнтів: терміни, сервери імен, пошта, SSL, що можна перенести вже зараз. - DNS-хостинг для будь-яких ваших зон, навіть якщо домен зареєстровано в іншого реєстратора. - Моніторинг доменів, які вже у нас, без доплати. - Знижку за кількістю доменів під управлінням на українські зони. На міжнародні зони (gTLD) знижки немає: там фіксована націнка над ціною реєстру. Чого немає: виплат грошима за клієнтів, хостингу (лише домени, DNS і SSL), знижок понад опубліковану сітку. ## Як вступити Вступає власник або адміністратор організації. 1. Відкрийте [режим студії](https://vse.zrazu.com/agency/) у кабінеті. Його бачать учасники організації з доступом до доменів. Також можна знайти «Режим студії» у пошуку команд кабінету. 2. Прочитайте «Умови» і натисніть «Вступити до програми». 3. Після вступу в меню з’явиться пункт «Студія». ## Розділи кабінету студії | Розділ | Що там | | --- | --- | | Огляд | Скільки доменів у ZRAZU, ваша ступінь, скільки лишилося до наступної, сходинки ступенів | | Клієнти | Клієнти студії, їхні домени, найближче продовження, віднесення доменів до клієнтів | | Перенесення | Хвилі перенесень і стан кожної | | Реферали | Ваше реферальне посилання і список тих, хто прийшов за ним | | Ціни | Ціни першого року за ступенями: вітрина, потім ваша ціна | | Виписка | Оплати за місяць із розбивкою за клієнтами | | Умови | Умови програми і як піти | ## Ступінь Ступінь залежить від кількості доменів під управлінням (доменів, зареєстрованих у ZRAZU в організації студії), а не від обороту. Ступені: «База», «Студія», «Студія+», «Партнер». Пороги й ваш поточний ступінь показано в «Огляді». Поки триває перенесення бази, ступінь за домовленістю можна отримати авансом за планом перенесення. Розмір знижки на сторінці [https://zrazu.com/studios/](https://zrazu.com/studios/). Умови програми там і в розділі «Умови» кабінету позначено як попередні. ## Клієнти і домени 1. Відкрийте «Клієнти» і натисніть «Додати клієнта», введіть назву клієнта. 2. У блоці «Віднести домени до клієнта» введіть домени, по одному в рядку, оберіть клієнта і натисніть «Віднести». Щоб зняти віднесення, оберіть «без клієнта». 3. Клієнт відкриється окремою сторінкою зі списком доменів: дата закінчення, автопродовження. Клієнтів і віднесення змінює власник або адміністратор. Власником домену лишається клієнт (реєстрант), студія керує акаунтом і платить. Щоб передати домен клієнту в його власний акаунт, змініть власника у вкладці «Власник» картки домену. Зміна власника йде з паузою 72 години, а листи отримують усі контакти. Ми не надсилаємо вашим клієнтам маркетингових листів і не пропонуємо їм прямих умов. Службові листи власнику й контактам домену (код перенесення, зміна власника, контактів чи DNS, останнє попередження перед видаленням) надсилаємо завжди: так домен захищено від викрадення. ## Ціни У розділі «Ціни» видно реєстрацію на перший рік за вашим ступенем поруч із ціною вітрини. Це те, що реально порахує кошик. Ціни у гривні, з ПДВ або без: це ви обираєте в кошику. ## Виписка за місяць 1. Відкрийте «Виписка» і вкажіть місяць у форматі 2026-09. 2. Побачите оплачені позиції за клієнтами: суму без ПДВ, ПДВ і разом. 3. Для перевиставлення клієнтам натисніть «Завантажити CSV для перевиставлення». Виписку бачить роль із доступом до грошей: бухгалтер, адміністратор або власник. ## Перенесення бази 1. У «Трансфері» перевірте домени: які можна перенести зараз, які заблоковано і чому. 2. Складіть кошик із кодами перенесення і запустіть переноси. 3. У «Перенесення» стежте за хвилями: хвиля це одне замовлення переносів. Частковий успіх нормальний: за відмову гроші повертаються на баланс, хвиля йде далі. DNS і реєстрація переносяться окремо, тому сайти й пошта не падають, поки чекають коду перенесення. Нічого не перемикаємо без вас. ## Реферальне посилання У «Реферали» є ваше посилання для клієнтів, які купують самі. Хто зареєструється за ним, з’явиться в списку з датою, без назви: це клієнт, поки він сам не покличе вас у команду. Виплат грошима за запрошених немає. ## Як піти з програми Код перенесення кожного домену надсилаємо листом його власнику, а не на екран: так ми захищаємо від угону. Масова видача кодів усіх доменів іде через «Підтримку», після перевірки, що запит від власника організації. У розділі «Умови» є кнопка «Написати в підтримку». ## Якщо не вийшло - **Пункту «Студія» в меню немає.** Ви ще не вступили до програми, або у вашої ролі немає доступу до доменів. Вступити може власник або адміністратор. - **Не можна додати клієнта чи віднести домени.** Це роблять тільки власник або адміністратор. - **«ваша роль не дозволяє цю дію».** Попросіть власника чи адміністратора організації. - **Виписка не відкривається.** Її бачать бухгалтер, адміністратор і власник. - **«Місяць — у форматі 2026-09».** Введіть рік, дефіс і місяць із двома цифрами. - **Розділ «Ціни» не відкривається, пише про забагато запитів.** Зачекайте хвилину й оновіть сторінку.