Разработано Российской рабочей группой по универсальному принятию, 2025
Рекомендации по созданию сайта с доменным именем и электронной почтой на кириллице:
этапы, проблемы и решения
Документ предназначен для владельцев и разработчиков сайтов, которые планируют использовать кириллическое доменное имя для адресации сайта и создания адресов электронной почты, а также предоставлять возможность пользователям указывать при взаимодействии с сайтом адреса электронной почты с символами национальных алфавитов.
Общие рекомендации по созданию сайта
На каждом этапе создания сайта необходимо осуществлять проверку корректности используемых кириллических доменных имен и адресов электронной почты, включая:
- Проверку формата, длины и наличия допустимых символов в доменном имени или адресе электронной почты (в локальной и доменной части e-mail адреса);
- Проверку на смешение скриптов (смешение кириллических и латинских символов в одной метке доменного имени не допускается).
С другими техническими рекомендациями по внедрению поддержки кириллических доменных имен и адресов электронной почты в программном обеспечении можно ознакомиться на сайте Российской рабочей группой по универсальному принятию.
Этап 1. Регистрация домена
В качестве адреса сайта может использоваться интернационализированное доменное имя, состоящее из кириллическим символов Юникод (далее по тексту - IDN домен). Регистрация доменных имен второго уровня на кириллице доступна в российских доменах верхнего уровня - .РФ1, . МОСКВА, .ДЕТИ, .SU и других. Услуги по регистрации доменных имен предоставляют специализированные компании - регистраторы. Список аккредитованных регистраторов публикуется на официальном сайте регистратуры соответствующего домена верхнего уровня.
Возможные проблемы:
- Не все регистраторы предоставляют услуги по подбору и регистрации IDN доменов с символами кириллицы.
- Сообщение об ошибке при вводе IDN домена на сайте или в пользовательских интерфейсах регистратора.
- Автоматическое преобразование IDN домена в кодировку Punycode (A-метку) 2 на сайте или в пользовательских интерфейсах регистратора.
- Ограничение на использование в доменном имени символов нескольких алфавитов (при вводе доменного имени, состоящего из нескольких меток на кириллице и латинице, например, «вашдомен.su»).
Решения:
- Выбирайте регистратора, который предоставляет соответствующие услуги по подбору и регистрации IDN доменов на кириллице. Ввод и отображение IDN доменов на сайте или в пользовательских интерфейсах регистратора должен осуществляться в кодировке Юникод3 (в виде U-метки), то есть символами кириллицы.
- Если выбранный вами регистратор поддерживает ввод IDN домена только в кодировке Punycode, то необходимо заранее преобразовать кириллическое доменное имя при помощи инструмента IDN-конвертер4 и вводить его в виде A-метки.
- Убедитесь, что доменное имя, которое вы планируете зарегистрировать, состоит из допустимых к регистрации символов и соответствует Правилам регистрации доменных имен выбранного вами домена верхнего уровня. Ознакомьтесь заранее с Правилами регистрации на сайте регистратуры соответствующего домена верхнего уровня.
2. Настройка DNS
Чтобы ваш сайт стал доступен в сети интернет по кириллическому доменному имени, вам необходимо его делегировать. Для делегирования доменного имени необходимо сообщить регистратору DNS сервера (первичный и вторичный). Вы можете использовать собственные DNS сервера или заказать соответствующие услуги у регистратора или хостинг провайдера.
Возможные проблемы:
- Ограничение на ввод IDN домена в кодировке Юникод в интерфейсах систем регистратора или хостинг провайдера.
- Ошибки при вводе IDN домена в кодировке Punycode (опечатки, отсутствие xn-- префикса и т.п.), которые могут привести к ошибкам в настройке DNS.
- Ошибки при настройке ресурсных записей для IDN домена.
- Проблемы с делегированием IDN домена на собственные DNS-серверы, если на таких серверах не реализована поддержка алгоритма преобразования Punycode.
Решения:
- В интерфейсе регистратора:
- При необходимости используйте для ввода доменное имя в кодировке Punycode (выполнив преобразование при помощи IDN-конвертера).
- Убедитесь в правильности ввода доменного имени: нет ли опечаток или ошибок в написании домена.
- Проверьте корректность всех ресурсных записей (A, MX, CNAME и т.д.).
- В интерфейсе хостинг провайдера:
- При необходимости используйте для ввода доменное имя в кодировке Punycode (выполнив преобразование при помощи IDN-конвертера).
- Убедитесь в правильности ввода доменного имени: нет ли опечаток или ошибок в написании домена.
- Проверьте корректность всех ресурсных записей (A, MX, CNAME и т.д.).
- В панели управления хостингом:
- При необходимости используйте для ввода доменное имя в формате Punycode (выполнив преобразование при помощи IDN-конвертера).
- Убедитесь в правильности ввода доменного имени: нет ли опечаток или ошибок в написании домена.
- Настраивайте DNS через встроенные инструменты панели управления.
- Проверьте корректность всех ресурсных записей (A, MX, CNAME и т.д.).
- Через консоль и на собственном сервере DNS:
- Проверьте на сервере DNS наличие поддержки алгоритма преобразования Punycode (согласно RFC 3492). При необходимости установите соответствующее ПО с такой поддержкой или обновите установленное ПО до нужной версии.
- Вручную указывайте ресурсные записи с IDN доменом в формате Punycode.
- Проверьте корректность настройки через служебные утилиты проверки DNS (например, dig или nslookup).
3. Настройка электронной почты для домена
Для создания адресов электронной почты в кириллическом домене необходимо выбрать поставщика почтового сервиса или самостоятельно развернуть почтовый сервер.
Возможные проблемы:
- Не все почтовые сервисы/ПО в настоящий момент предоставляют возможность создания адресов электронной почты, а также отправки, получения и хранения почтовых сообщений, с использованием IDN домена и Юникод символов в локальной части e-mail адреса.
- Ошибки при настройке ресурсных записей (например, MX-записей) для IDN домена.
Решения:
- Собственный почтовый сервер:
- Убедитесь, что используемое вами почтовое ПО поддерживает работу с IDN доменами и Юникод символами в локальной части адресов электронной почты. Выбирайте соответствующее почтовое ПО, в котором реализована поддержка стандарта интернационализированной электронной почты (EAI)5.
- При необходимости указывайте IDN домен в кодировке Punycode в конфигурационных файлах почтового ПО. Помните, что преобразование локальной части e-mail адреса (названия почтового ящика) в Punycode не предусмотрено стандартом EAI.
- Почтовый сервис/cервер у хостинг-провайдера:
- Проверьте наличие поддержки работы с IDN доменами и Юникод символами локальной части e-mail адреса почтовым сервисом/сервером хостинг-провайдера.
- Настраивайте электронную почту через панель управления хостинг-провайдера.
- В случае отсутствия такой возможности обратитесь в службу поддержки хостинг-провайдера.
- Внешний почтовый сервис/сервер (например, услуги провайдеров облачного хостинга и др.):
- Убедитесь, что используемый вами почтовый сервис/сервер поддерживает работу с IDN доменами и Юникод символами в локальной части e-mail адреса;
- В случае отсутствия такой возможности обратитесь в службу поддержки поставщика соответствующего сервиса.
4. Настройка веб-сервера
Для работы вашего сайта в сети интернет необходимо произвести корректную настройку веб-сервера с возможностью указания кириллических доменных имен в конфигурационных файлах.
Возможные проблемы:
- Могут возникать ошибки при первичной или автоматической (по умолчанию) настройке веб-сервера.
- Обратите внимание, что по умолчанию большинство современных веб-серверов осуществляют работу с IDN доменами только в кодировке Punycode.
- При настройке правил преобразования URL на веб-сервере (rewrite) при указании IDN домена могут возникать ошибки из-за несоблюдения формата представления доменного имени: указание домена в кодировке Юникод; опечаток или ошибок в имени домена в кодировке Punycode; автозамена.
Решения:
- Автоматическая настройка (виртуальный хостинг):
- Убедитесь, что выбранный вами виртуальный хостинг поддерживает IDN домены.
- Проверьте корректность конфигурационных настроек в панели управления веб-сервером и исправьте ошибки при наличии.
- Интерфейс панели управления хостинг-провайдера:
- Если хостинг провайдером используется панель управления собственной разработки, уточните наличие поддержки IDN доменов и порядка работы с ними.
- При необходимости дополнительно указывайте IDN домен в кодировке Punycode через интерфейс панели.
- Панель управления хостингом:
- Убедитесь, что выбранная вами у хостинг-провайдера панель управления хостингом поддерживает IDN домены.
- При необходимости дополнительно указывайте IDN домен в кодировке Punycode через интерфейс панели.
- Консоль вручную:
- указывайте IDN домен в кодировке Punycode в конфигурационных файлах веб-сервера.
- указывайте IDN домен в кодировке Punycode в конфигурационных файлах веб-сервера.
5. Получение SSL/TLS сертификата
Для того чтобы ваш сайт отображался в браузерах и другом ПО как безопасный, необходимо получить SSL/TLS сертификат для используемого вами кириллического доменного имени и настроить веб-сервер для работы с этим сертификатом.
Возможные проблемы:
- Большинство центров сертификации в запросе на выпуск сертификата допускают ввод IDN домена только в кодировке Punycode и не поддерживают ввод в кодировке Юникод (в виде U-метки).
- В большинстве браузеров и другом ПО отображение IDN доменов в данных сертификата доступно только в кодировке Punycode.
- При выпуске сертификата не принимается контактный адрес электронной почты владельца сертификата, если он содержит символы Юникод в доменной или локальной части.
Решения:
- Через панели управления хостингом:
- Используйте встроенные инструменты панели для автоматического выпуска и установки SSL/TLS-сертификата.
- Используйте встроенные инструменты панели для автоматического выпуска и установки SSL/TLS-сертификата.
- В ручном режиме через консоль:
- При необходимости указывайте IDN домен в кодировке Punycode при выпуске сертификата.
- При необходимости указывайте IDN домен в кодировке Punycode при выпуске сертификата.
- Панель управления УЦ (или его агента):
- Заказывайте сертификат в УЦ или через его агента (например, регистратора или хостинг провайдера), убедившись в наличии поддержки IDN доменов и интернационализированной электронной почтой (EAI).
- Заказывайте сертификат в УЦ или через его агента (например, регистратора или хостинг провайдера), убедившись в наличии поддержки IDN доменов и интернационализированной электронной почтой (EAI).
6. Создание сайта при помощи инструментов разработки
Разработка сайта может осуществляться с использованием различных инструментов (например, конструктора сайтов, CMS, фреймворков), а также возможна интеграция сайта со сторонними сервисами. В этом случае следует выбирать те инструменты и сервисы, в которых предусмотрена поддержка доменных имен и адресов электронной почты на кириллице.
1. Возможные проблемы с веб-формами и валидацией:
- Регулярные выражения для валидации email адресов не учитывают допустимый набор Юникод символов;
- Фреймворки по умолчанию блокируют использование Юникод символов в email адресах;
- CMS или конструкторы сайтов могут иметь ограниченную поддержку кодировки Юникод в веб-формах, содержащих поля для ввода адреса сайта (домена) и/или email адреса.
Решения:
- Предварительно проверьте и выберите для использования инструмент (конструктор сайта, фреймворк и др.) или внешний сервис, который работает корректно с кодировкой Юникод и поддерживает IDN домены и e-mail адреса на кириллице.
- Регулярно обновляйте библиотеки валидации до последних версий с поддержкой IDN доменов и e-mail адресов на кириллице.
- Если используются собственные средства валидации, то рекомендуется регулярно обновлять кодовые таблицы символов, разрешенных для использования в доменных именах;
- Заранее протестируйте плагины для CMS на совместимость с кодировкой Юникод;
- Устанавливайте UTF-8 в качестве стандартного (по умолчанию) формата кодировки.
2. Возможные проблемы с путями файлов и кодировками:
- ОС могут хранить пути файлов как последовательности байтов без гарантии поддержки формата кодировки UTF-8;
- ОС может содержать в пути файлов смешение различных форматов кодировки Юникод, что может приводить к ошибкам.
Решения:
- Используйте современную ОС с поддержкой формата кодировки UTF-8;
- В ОС выбирайте по умолчанию UTF-8 в качестве формата кодировки ввода/вывода и переменных окружения.
3. Возможные проблемы баз данных:
- Ошибки при поиске и индексации данных в формате UTF-8;
- Проблемы с сортировкой и сравнением интернационализированных строк (строк, содержащих IDN домены и e-mail адреса с Юникод символами);
Решения:
- Исключите использование устаревших кодировок (Latin1, Windows-1251);
- Проверьте настройки локализации/интернационализации (например, charset и collation);
- Исключите возможное ограничение длины полей для данных в формате UTF-8.
4. Возможные проблемы интеграции и API:
- Большинство платёжных шлюзов поддерживают работу с IDN доменами только в кодировке Punycode (в виде A-метки);
- CRM и системы аналитики могут некорректно обрабатывать данные в формате UTF-8.
Решения:
- Проведите предварительное тестирование используемых сервисов на наличие поддержки IDN доменов и e-mail адресов на кириллице, а также порядка работы с ними;
- При необходимости выполните дополнительные настройки для поддержки кодировки Юникод.
1 Как зарегистрировать домен в зоне .РФ: https://cctld.ru/domains/howto/
2 В настоящем документе используется для обозначения ASCII представления IDN домена, метки которого преобразованы по алгоритму Punycode с добавлением ACE-префикса xn--. Например, кириллические доменное имя «пример.рф» в кодировке Punycode (A-метке) имеет вид «xn--e1afmkfd.xn--p1ai».
3 В настоящем документе используется для обозначения Unicode представления IDN домена (U-метки), когда метки доменного имени состоят из Unicode символов. Например, кириллическое доменное имя в кодировке Юникод (U-метке) имеет вид «пример.рф».
4 Например, IDN Конвертер на сайте Координационного центра доменов .RU/.РФ - https://cctld.ru/service/
5 См список RFC и ключевых стандартов:
https://поддерживаю.рф/участникам/документация/rfc-и-ключевые-стандарты.php
Каталог ПО с указанием текущего статуса поддержки IDN и EAI: https://поддерживаю.рф/каталог/