INTEGRITY Документация

Пользовательские домены

Пользовательский домен обслуживает ваш публичная конечная точка с имени хоста, которым вы владеете, например search.example.com, вместо стандартного <PUBLIC_ENDPOINT_ID>.search.ai.cloudflare.com имя хоста.

Эндпойнты и форматы запросов остаются прежними. Изменяется только имя хоста:

https://search.example.com/search
https://search.example.com/chat/completions
https://search.example.com/mcp

Пользовательские домены также лежат в основе ограничение доступа с помощью Cloudflare Access, который позволяет пользователям пройти аутентификацию у вашего провайдера идентификации, прежде чем они смогут делать запросы к вашему индексированному контенту.

Требования

Добавление пользовательского домена

Задайте public_endpoint_params.custom_domains при создании или обновлении экземпляра.

curl -X PUT "https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/ai-search/namespaces/default/instances/<INSTANCE_ID>" \
  -H "Authorization: Bearer <API_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "public_endpoint_params": {
      "enabled": true,
      "custom_domains": ["search.example.com"]
    }
  }'

Это же поле доступно и для пространств имён. См. Публичные конечные точки пространства имён.

Cloudflare выпускает сертификат для имени хоста и запускает проверку контроля над доменом.

Создайте DNS-запись

Создайте проксируется CNAME запись в зоне, которой принадлежит ваш собственный домен. Целью является имя хоста по умолчанию для публичного эндпойнта, а именно <PUBLIC_ENDPOINT_ID>.search.ai.cloudflare.com.

Тип Название Цель Статус прокси
CNAME search <PUBLIC_ENDPOINT_ID>.search.ai.cloudflare.com Proxied
curl -X POST "https://api.cloudflare.com/client/v4/zones/<ZONE_ID>/dns_records" \
  -H "Authorization: Bearer <API_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "CNAME",
    "name": "search",
    "content": "<PUBLIC_ENDPOINT_ID>.search.ai.cloudflare.com",
    "proxied": true
  }'

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

Отключение имени хоста по умолчанию

По умолчанию публичная конечная точка отвечает как на пользовательском домене, так и на домене по умолчанию <PUBLIC_ENDPOINT_ID>.search.ai.cloudflare.com имя хоста. Задайте default_domain_enabled к false и таким образом обслуживать только пользовательский домен. После этого имя хоста по умолчанию возвращает 404 с ошибкой 60018.

curl -X PUT "https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/ai-search/namespaces/default/instances/<INSTANCE_ID>" \
  -H "Authorization: Bearer <API_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "public_endpoint_params": {
      "enabled": true,
      "custom_domains": ["search.example.com"],
      "default_domain_enabled": false
    }
  }'

Отключайте эту функцию, если перед пользовательским доменом настроены средства защиты. Они работают в вашей собственной зоне, поэтому любой трафик, достигающий имени хоста по умолчанию, минует их. См. Cloudflare Access.

Действуют три правила:

Удаление пользовательского домена

Отправить custom_domains как пустой массив. Cloudflare удаляет сертификат и прекращает маршрутизацию для этого имени хоста.

curl -X PUT "https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/ai-search/namespaces/default/instances/<INSTANCE_ID>" \
  -H "Authorization: Bearer <API_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "public_endpoint_params": {
      "enabled": true,
      "custom_domains": []
    }
  }'

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

Удаление экземпляра или пространства имён удаляет его пользовательские домены и сертификаты.

Ошибки

Код Сообщение Причина
7090 custom_domain_not_a_verified_zone_on_this_account Имя хоста не принадлежит активной зоне в этом аккаунте.
7091 custom_domain_already_in_use Имя хоста уже подключено к другой публичной конечной точке.
7092 custom_domain_provisioning_failed Не удалось выпустить сертификат. Повторите запрос.
7093 custom_domains_require_an_active_public_endpoint У экземпляра или пространства имён нет активной публичной конечной точки.
7096 disabling_the_default_domain_requires_at_least_one_custom_domain default_domain_enabled было установлено в значение false без пользовательского домена.
60018 default domain disabled Запрос достиг имени хоста по умолчанию, пока оно отключено.

Следующие шаги

Cloudflare Access

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

Настройки публичной конечной точки

Ограничение скорости запросов, разрешённые origin и настройки для отдельных эндпойнтов.