Делегирование домена на cloudflare

Обсуждение, отзывы, пожелания к статьям в разделе Сервер
Только администрация может создавать темы.
Сообщения могут писать все посетители.
Ответить
Admin
Администратор
Администратор
Сообщения: 18
Зарегистрирован: 25 апр 2022, 16:14

Делегирование домена на cloudflare

Сообщение Admin »

Обсуждение статьи Делегирование домена на cloudflare

Как управлять днс записями в cloudflare

Зачем делегировать домен

Причин для этого у каждого может быть несколько. Вы зарегистрировали бесплатно домен или он у вас на паркинге у регистратора и регистратор не предоставляет бесплатно поддержку почты с вашим доменным именем. Или вас не устраивает сама процедура настройки доменных записей. Может хочется больше, каких то дополнительных услуг, причем бесплатно. Для меня например приоритетом было то что бы сервис днс поддерживал: API для изменения доменных записей и почту для моего домена. Cloudflare - подходит под мои требования.

Скажу сразу очень много чего есть из бесплатных дополнительных услуг, подробно их еще не тестировал, но выглядит все многообещающим.

Регистрация в cloudflare

Прежде чем пользоваться услугами нужно пройти простую процедуру создания аккаунта. Переходим по ссылке.

Регистрация аккаунта

Вводим в поле Email ваш действующий почтовый адрес на который придет письмо для подтверждения вашей почты.

В поле Password пароль, который должен быть не менее 8 символов, которые включают в себя цифры и спецсимволы.

Жмем кнопку Create Account

В пришедшем письме лучше все таки перейти по ссылке или вставить в браузер.

Сразу после регистрации попадаем в личный кабинет, в котором можно уже произвести передачу управления на данный днс сервис.

Делегирование домена в cloudflare

В личном кабинете ничего лишнего, все по делу. Разобраться в навигации и что за что отвечает, плотно посидев за день можно. Справочной информации хватает. Русский язык не поддерживается, так что юзаем плагин переводчик для браузера. Некоторые вещи интуитивно понятны, но есть моменты, которые становятся ясны, только в результате эксперимента. Ничего не боимся жмем смело по кнопкам и ссылкам, как говорится нажимая на кнопки вы не делаете компьютеру больно. Приобретаем опыт и знания.

Добавление домена

Находим справа кнопку +Add a Site или в меню наверху она же продублирована.

В поле Enter your site (example.com): вводим ваш домен. Смело жмем кнопку Add a Site.

На выбор предлагается несколько тарифных планов, выбираем Free нажав кнопку Get started

Редактирование текущих записей DNS

Произойдет сканирование текущих днс записей. Если все устраивает оставляем как есть. Записи A, AAAA и CNAME по умолчанию будут проксироваться, т.е. весь трафик с сервера будет идти через cloudflare. Благодаря этому приобретаются некоторые не бесполезные возможности защита трафика и его ускорение благодаря кэшированию сайта на серверах cloudflare. Если не устраивает, что трафик будет проходить через прокси, в строке записи нажать на оранжевую кнопку в столбце Proxy status . Запись поменяет статус с Proxied на DNS only. В последствии при необходимости проксирование можно включить.

Проверив текущие записи, если они есть, нажать Continue

Передача управления

Собственно само делегирование сводится к изменению адресов NS. Как поменять адреса серверов имен для бесплатного домена зарегистрированного на freenom. Если у вас другой регистратор домена, то смотрим в инструкциях регистратора или обратитесь в службу поддержки.

Заменить NS на:

Код: Выделить всё

lily.ns.cloudflare.com
paul.ns.cloudflare.com
После того как указаны адреса NameServer cloudflare у вашего регистратора, нажать кнопку Done, check nameservers

Попадем на страницу, где предложат рекомендации по конфигурации, лишним не будет. Жмем Configuration recommendations. И активируем два пункта.

Enable Always Use HTTPS - что бы все запросы перенаправлялись по защищенному протоколу https.

Enable Auto Minify - Уменьшает размер файла исходного кода Javascript, CSS и HTML на вашем веб-сайте.

Нажать кнопку Check nameservers для проверки передачи управления доменом.

Немного подождав придет письмо об успешном делегировании домена. Поэтому можно спокойно заниматься своими делами.

Настройки DNS записей в личном кабинете cloudflare

Слева в меню выбираем DNS в разделе DNS management for имя-домена нажать +Add record
domain-delegation-to-cloudflare-table-1.png
Cancel Save

В столбце Type выбрать А. Name (required) поставить @ - обозначает корень домена. IPv4 address (required) - пишем айпи адрес сайта. Proxy status - оставляем проксирование или по желанию снимаем галку. TTL - время жизни записи будет выставлено автоматически. Нажать в углу Save - сохранить.

И добавляем поддомен (субдомен) WWW , что бы к серверу можно было обращаться по старинке через три дабл ви.

По той же схеме +Add record, только в этот раз сделаем алиас вместо записи А выбрать CNAME
domain-delegation-to-cloudflare-table-2.png
Cancel Save

В итоге должно получится;
domain-delegation-to-cloudflare-table-3.png
Для редактирования записи, в столбце Actions нажать Edit в нужной строке.

Теперь сайт, сервер или приложение доступно под своим доменным именем.

Автоматическое изменение днс записей при помощи API в cloudflare

Как писал ранее меня интересует изменение записи А поскольку мой сервер с белым динамическим айпи. Для тех у кого статический белый айпи далее можно не читать, у вас и так все хорошо. С помощью API можно делать все то же самое, что и через дашбоард, для полного ознакомления с возможностями можно почитать документацию с примерами

Получение токена

Что бы не подвергать опасности свои регистрационные данные аккаунта, необходимо создать токен. Есть несколько видов токенов предназначенных для определенных целей. Можно создать с помощью готового шаблона, что и сделаем, а можно самому определить за что будет отвечать токен.

Входим в личный кабинет и после этого жмем на эту ссылку или в правом верхнем углу жмем иконку с человечком и выбираем My Profile потом слева в меню API Tokens. Потом нажать на кнопку Create Token.

Создадим токен для редактирования записей днс, выбрав шаблон Edit zone DNS нажав в этой строке кнопку Use template.

На странице создания токена все оставляем по умолчанию, только в разделе Zone Resources вместо Specific zone выбрать All zones from an account и соответственно выбрать аккаунт, он у меня один, а вот бесплатных доменов несколько. Жмем Continue to summary покажут дерево какие зоны доступны для редактирования, если все устраивает нажать Create Token. Сгенерируется токен, который нужно скопировать и запомнить в надежном месте. Потом его больше ни где не посмотреть, если только не сделать новый токен или перевыпустить старый.

Проверка работы токена

Для работы с API необходимо, что бы было установлено curl и jq

Код: Выделить всё

sudo apt update
sudo apt install curl
sudo apt install jq
Подключаемся по SSH к серверу. И делаем запрос.

Код: Выделить всё

 curl -X GET "https://api.cloudflare.com/client/v4/user/tokens/verify" \
     -H "Authorization: Bearer <token secret>" \
     -H "Content-Type:application/json" | jq
token secret - токен который недавно получили в рабочем варианте примерно так:

Код: Выделить всё

curl -X GET "https://api.cloudflare.com/client/v4/user/tokens/verify" \
     -H "Authorization: Bearer c2547eb745079dac9320b638f5e225cf483cc5cfdda41" \
     -H "Content-Type:application/json" | jq
На выходе получаем:

Код: Выделить всё

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   184    0   184    0     0    180      0 --:--:--  0:00:01 --:--:--   180
{
  "result": {
    "id": "100bf38cc8393103870917dd535e0628",
    "status": "active"
  },
  "success": true,
  "errors": [],
  "messages": [
    {
      "code": 10000,
      "message": "This API Token is valid and active",
      "type": null
    }
  ]
}
Получение object_id идентификаторов

Для работы скрипта необходимы идентификаторы доменов. object_id - для каждой зоны свой. Набираем запрос

Код: Выделить всё

curl -X GET "https://api.cloudflare.com/client/v4/zones/" \
     -H "Authorization: Bearer c2547eb745079dac9320b638f5e225cf483cc5cfdda41" \
     -H "Content-Type:application/json" | jq 
После Bearer свой токен на редактирование днс записей.

Над строкой

Код: Выделить всё

"name": "ваш_домен",
Находится запись *"id":* после нее запоминаем набор цифр и букв.

Скрипт изменения записи А (IP-адреса)

Алгоритм довольно простой. Что бы часто не беспокоить постоянными перезаписями, получаем текущую запись А сравниваем ее с реальным на этот момент айпи адресом сервера, если совпадает - все хорошо, если нет - меняем в записи А айпи адрес на текущий момент айпи сервера.

Создаем исполняемый bash скрипт, который будет запускать cron каждую минуту, вполне достаточно.

Код: Выделить всё

nano cloudflare.sh
Копируем и вставляем сам скрипт:

Код: Выделить всё

#!/bin/bash
DOMAIN=ваш_домен
TOKEN=токен
OBJECT_ID=object_id

MYIP=`curl -s 'http://ipinfo.io/ip'`
NSIP=`curl -X GET 'https://api.cloudflare.com/client/v4/zones/'$OBJECT_ID'/dns_records?type=A' \
-H 'Authorization: Bearer '$TOKEN'' \
-H 'Content-Type:application/json' | jq '.result[] | .content' |sed 's/"//g'`

if [ $MYIP == $NSIP ]
                then 
                        exit 1
                else
#Эта запись пока вызывает сомнение, потому что пока не проверить
#На выходе предупреждение о бесплатных доменах
curl -X POST 'https://api.cloudflare.com/client/v4/zones/'$OBJECT_ID'/dns_records?type=A' \
-H 'Authorization: Bearer '$TOKEN'' \
-H 'Content-Type:application/json'
--data '{'type':'A','name':'$DOMAIN','content':'$MYIP','ttl':30,'proxied':true}'

fi
exit 1
Сохраняем файл Ctrl+O, и закрываем Ctrll+X.

Делаем файл исполняемым.

Код: Выделить всё

chmod +x ./cloudflare.sh
И тут появилась ложка тегтя, оказывается cloudflare раньше не брал на обслуживание домены из зон .cf, .ga, .gq, .ml, .tk теперь берет, но с таким условием, что они не обслуживаются через API. Жаль, буду искать дальше днс хостеров по своим требованиям.

Код: Выделить всё

"message": "You cannot use this API for domains with a .cf, .ga, .gq, .ml, or .tk TLD (top-level domain). To configure the DNS settings for this domain, use the Cloudflare Dashboard."
Установка автоматического исполнения скрипта

Для тех, кто делегирует другие доменные зоны остаётся только добавить файл cloudflare.sh в cron

Код: Выделить всё

crontab -e
В конце вставляем запись, которая будет вызывать скрипт каждую минуту.

Код: Выделить всё

MAILTO=""
*/1 * * * * путь/к/файлу/cloudflare.sh
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Seo-Ul-kat
Новые пользователи
Сообщения: 9
Зарегистрирован: 16 мар 2024, 08:33

Переплюните конкурентов: Как наша раскрутка сайта делает это возможным.

Сообщение Seo-Ul-kat »

Мы компания специалистов по SEO-оптимизации, занимающихся увеличением трафика и улучшением рейтинга вашего сайта в поисковых системах.
Наша команда достигли значительных результатов и расширим ваш кругозор нашим опытом и знаниями.
Какие услуги мы предоставляем:
комплексное seo продвижение сайтов
• Тщательный анализ вашего сайта и разработка персональной стратегии продвижения.
• Усовершенствование контента и технических особенностей вашего сайта для достижения максимальной производительности.
• Регулярный анализ результатов и мониторинг вашего онлайн-присутствия для его улучшения.
Подробнее https://seo-prodvizhenie-ulyanovsk1.ru/
Результаты наших клиентов уже видны: повышение посещаемости, улучшение позиций в поисковых запросах и, конечно же, рост бизнеса. Вы можете получить бесплатную консультацию у нас, для того чтобы обсудить ваши требования и разработать стратегию продвижения, соответствующую вашим целям и финансовым возможностям.
Не упустите возможность улучшить свой бизнес в онлайн-мире. Свяжитесь с нами сегодня же.
Для продвижения сайта заходи на сайт https://seo-prodvizhenie-ulyanovsk1.ru/ | баннерная реклама в интернете цена
Seo-Ul-kat
Новые пользователи
Сообщения: 9
Зарегистрирован: 16 мар 2024, 08:33

SEO-магия: Привлекайте больше клиентов с помощью наших услуг.

Сообщение Seo-Ul-kat »

Мы группа SEO-специалистов, специализирующихся на продвижении сайтов в поисковых системах.
Мы добились впечатляющих результатов и предоставим вам доступ к нашему опыту и навыкам.
Что мы можем вам предложить:
оптимизация сайта стоимость продвижение
• Полный аудит вашего сайта и создание индивидуальной стратегии продвижения.
• Оптимизация контента и технических аспектов вашего сайта для максимальной эффективности.
• Регулярный анализ результатов и мониторинг вашего онлайн-присутствия для его улучшения.
Подробнее https://seo-prodvizhenie-ulyanovsk1.ru/
Клиенты, с которыми мы работаем, уже видят результаты: увеличение трафика, улучшение позиций в поисковых системах и, конечно же, рост прибыли. Вы можете получить бесплатную консультацию у нас, для того чтобы обсудить ваши требования и разработать стратегию продвижения, соответствующую вашим целям и финансовым возможностям.
Не упустите возможность увеличить прибыль вашего бизнеса в онлайн-мире. Свяжитесь с нами уже сегодня.
Для продвижения сайта заходи на сайт https://seo-prodvizhenie-ulyanovsk1.ru/ | баннерная реклама в интернете цена
Ответить