Регистрируем свой домен и прикручиваем его к сайту+генерируем сертификат
Данный пример является продолжением той части основного мануала, где мы создали deployment+service и получили доступ к содержимому пода через ip адрес. Там до сих пор должен крутиться nginx.
Зарегистрируем свой домен на сайте https://www.freenom.com/ru/index.html?lang=ru Домен здесь можно зарегистрировать совершенно бесплатно. На сайте необходимо зарегистрироваться и добавить в корзину домен/домены.
Я буду использовать для выполнения теста домен cameda1.ml.
Делегируем управление доменом в Яндекс Облако.
Для делегирования домена в Яндекс необходимо прописать на сайте freenom NS записи облака.
Services-->My Domains-->Manage Domain (кнопка напротив выбранного домена)-->Management Tools-->Nameservers-->Use custom nameservers (enter below)
И вставляем адреса DNS серверов Яндекс Облака:
export FOLDER=$(yc config get folder-id)
Пропишем необходимые записи в Cloud DNS.
1. Но для начала надо создать публичную зону.
yc dns zone create \ --folder-id $FOLDER \ --name pguti-service \ --description "pguti test" \ --zone cameda1.ml. \ --public-visibility \ --async
2. Создадим А запись для домена. В качестве IP адреса будем использовать адрес балансировщика в сервисе Network Load Balancer.
yc dns zone add-records --name pguti-service \ --record "cameda1.ml. 600 A 158.160.45.149"
3. Проверим, что всё правильно резолвит.
host cameda1.ml. cameda1.ml has address 158.160.45.149
yc certificate-manager certificate request \ --folder-id $FOLDER \ --name pguti \ --domains "cameda1.ml" \ --challenge dns
export CERT=$(yc cm certificate get pguti --format=json | jq -r ".id")
Добавим CNAME запись в домен для прохождения валидации.
yc dns zone add-records --name pguti-service --record \ "_acme-challenge.cameda1.ml. 600 CNAME $CERT.cm.yandexcloud.net."
Ждём выпуска cертификата! Это может занимать несколько часов.
Сертификат должен принять статус Issued.
curl cameda1.ml <!DOCTYPE html> <html> <head> <title>Welcome to nginx!</title> <style> html { color-scheme: light dark; } body { width: 35em; margin: 0 auto; font-family: Tahoma, Verdana, Arial, sans-serif; } </style> </head> <body> <h1>Welcome to nginx!</h1> <p>If you see this page, the nginx web server is successfully installed and working. Further configuration is required.</p> <p>For online documentation and support please refer to <a href="http://nginx.org/">nginx.org</a>.<br/> Commercial support is available at <a href="http://nginx.com/">nginx.com</a>.</p> <p><em>Thank you for using nginx.</em></p> </body> </html>