Настройка личного домена и его проксирование.
Создание репозитория в Diplodoc
Быстрый старт («Quick Start») — сервис, который поможет создать репозиторий и привязать его к внешнему сервису Diplodoc.
Для создания базовой документации:
- 
Откройте Быстрый старт.
 - 
В шаге №1 авторизуйтесь в GitHub.
 - 
В шаге №2 нажмите Создать и создайте репозиторий в GitHub. В результате будет создан проект с именем «diplodoc-example», предзаполненный командой Diplodoc.
 - 
В шаге №3 нажмите Создать и создайте проект в Diplodoc.
 - 
После выполнения пошаговой инструкции вы получите сообщение:
Ключи от каталога с документацией в S3. Идентификатор ключа: *********************** Секретный ключ: *********************** Сохраните идентификатор и ключ. После закрытия диалога значение ключа будет недоступно. Ключ будет добавлен в созданный репозиторий автоматически. - 
Дождитесь завершения релиза, проект будет доступен по ссылке в шаге №3 на странице Быстрого старта.
 
Подготовка Yandex Cloud для привязки домена
Создание API-шлюза
- 
Зарегистрируйте домен (можно воспользоваться доменным регистратором).
 - 
Авторизуйтесь или создайте аккаунт в Yandex Cloud.
Важно
На странице Биллинг убедитесь, что у вас подключен платежный аккаунт и находится в статусе
ACTIVEилиTRIAL_ACTIVE. Если платежного аккаунта нет, создайте его. - 
Перейдите в консоль Yandex Cloud.
 - 
Откройте Все сервисы → API Gateway.
Примечание
API Gateway — упрощенный сервер в Yandex Cloud, который позволяет обслуживать внешние запросы. Настраивается с помощью OpenAPI спецификации.
 - 
Нажмите кнопку Создать API-шлюз.
 - 
Заполните поля Имя* и описание. Поле со звездочкой обязательно для заполнения.
 - 
В поле Сеть выберите
defaultили свой вариант. - 
Заполните поле Спецификация: можно воспользоваться своей OpenAPI спецификацией или примером.
Пример OpenAPI спецификации
Важно
Вы можете использовать пример OpenAPI спецификации, но не забудьте изменить некоторые важные параметры, такие как: адрес внешнего домена или путь, на который должна проксироваться документация.
OpenAPI Спецификация
openapi: 3.0.0 info: title: Proxy Example version: 1.0.0 servers: - url: https://d5dj3947rd2qu5g1lbak.apigw.yandexcloud.net - url: example-for-your-domain.net paths: /путь/{path+}: get: x-yc-apigateway-integration: headers: x-real-host: example-for-your-domain.net x-docs-proxy-base: docs x-docs-project-name: diplodoc-platform--docs http_method: get query: '*': '*' type: http url: https://diplodoc-platform--docs.viewer.diplodoc.com/{path} parameters: - name: path in: path required: false schema: type: stringОписание параметров OpenAPI спецификации
Параметр
Описание параметра
serversНастройка вложенных параметров
urlразделаserversпозволит указать, по какому адресу необходимо проксировать документацию.
Для проксирования документации на ваш домен настройте вложенные параметры:- Первый параметр 
urlсодержит адрес, на котором работает API Gateway, — оставьте значение по умолчанию. - Для второго параметра 
urlукажите внешний домен, на который нужно проксировать документацию. 
pathsСодержит вложенное правило, которое позволяет конфигурировать ответ для параметра
urlиз разделаservers. Параметр/путь/{path+}:, вложенный в разделpaths, указывает, по какому пути должна располагаться документация.Примечание
Если вы используете пример OpenAPI спецификации, то документация будет расположена по пути
example-for-your-domain.net/docs.getВложенное правило, которое обрабатывает все get-запросы.
headersРаздел содержит служебные заголовки. Для настройки служебных заголовков:
1. В параметре
x-real-host:укажите адрес домена.
2. В параметреx-docs-proxy-base:укажите каталог, на котором будет размещаться документация.
3. В параметреx-docs-project-name:укажите название проекта.urlПараметр, вложенный в правило
get, содержит адрес, на который перенаправляется документация.Примечание
Если вы используете пример OpenAPI спецификации, то документация будет перенаправляться на домен диплодока.
parametersРаздел обрабатывает параметр
pathпо заданному правилу.Важно
Для размещения в корне домена в OpenAPI-конфигурации измените:
- У параметра 
x-docs-proxy-baseзначение на' '. - У параметра 
paths:значение на/{path+}:. 
 - Первый параметр 
 - 
Нажмите Создать.
 - 
Если платежный аккаунт не привязан, нажмите Привязать.
 - 
В результате должен появиться API-шлюз со статусом
active. - 
Теперь Yandex Cloud может проксировать документацию на свой url.
 - 
Чтобы заработало проксирование на внешний домен, создайте новый или загрузите личный сертификат.
 
Создание/загрузка сертификата
Для создания или загрузки личного сертификата:
- 
Перейдите в консоль.
 - 
Откройте Все сервисы → Certificate Manager.
 - 
Нажмите Создать сертификат.
 - 
На странице выберите Добавить сертификат → Сертификат от Let's Encrypt.
Примечание
Если у вас уже есть сертификат, который зарегистрирован во внешнем сервисе, вы можете использовать его, для этого в выпадающем меню выберите Пользовательский сертификат.
 - 
Заполните поля Имя* и описание. Поле со звездочкой обязательно для заполнения.
 - 
Укажите Домены*, для которых необходимо добавить сертификат. Поле обязательно для заполнения.
 - 
Выберите в поле Тип проверки — DNS.
 - 
Созданный сертификат будет ожидать подтверждения со статусом
Validating. - 
Подтвердите, что вы являетесь владельцем домена.
 
Подтверждение сертификата
Для подтверждения прав на владение доменом:
- Перейдите в консоль.
 - Откройте Все сервисы → Certificate Manager.
 - Выберите созданный или добавленный сертификат.
 - Подтвердите права на владение доменом, используя один из предложенных способов.
 - Права на владение домена подтверждены.
 - Подключите домен.
 
Привязка домена к Yandex Cloud
Подключение домена
Для завершения привязки домена к Yandex Cloud:
- Откройте Все сервисы → API Gateway.
 - Выберите созданный API-шлюз.
 - В левом меню нажмите домены → Подключить.
 - Выберите созданный сертификат.
 - Укажите домен.
 - Нажмите Подключить.
 - Настройка проксирования на личный домен завершена.