LINUX.ORG.RU

Яндекс облако, корневой домен

 ,


0

1

Хочу создать сайт в яндекс-облаке, без всяких виртуальных машин, чтобы прям полностью в облаке был. Пока предположим статический. Как я понимаю, сами страницы нужно загрузить в Object Storage. Далее нужно настроить CDN, чтобы оно быстрей работало. Далее нужно настроить облачный DNS (так и не понял, чем он отличается от необлачного кроме того, что платный, но ладно, вроде недорого).

Пока речь идёт о домене вроде www.example.com, вопросов нет. Создаём CNAME-запись на адрес CDN-сервера, оно вроде даже HTTPS поддерживает через letsencrypt само.

Но я никак не пойму, как мне подключить поддержку example.com. Пусть хотя бы редиректом на www.example.com. Ну не создавать же виртуальную машину, чтобы отвечать 301 на запросы в корень.

А вообще в идеале я хочу без www сделать. Но, так понимаю, это не получится.

★★★★★

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

vvn_black ★★★★★
()
Последнее исправление: vvn_black (всего исправлений: 1)
Ответ на: комментарий от vvn_black

так они ж весь сервис под кальку содрали с зарубежных конкурентов…

aol ★★★★★
()
Ответ на: комментарий от aol

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

Legioner ★★★★★
() автор топика
Ответ на: комментарий от Legioner

плохо читал. и твой реальный вопрос вообще к облаку отношения не имеет.

нет, cname для корня домена создать нельзя

ищи какой-нибудь сервис для парковки доменов с редиректором, например. или придумай костыль через облачную функцию

aol ★★★★★
()
Ответ на: комментарий от aol

плохо читал

Почему?

и твой реальный вопрос вообще к облаку отношения не имеет.

Почему?

нет, cname для корня домена создать нельзя

Я в курсе.

ищи какой-нибудь сервис для парковки доменов с редиректором, например

Я не хочу искать левые сервисы, я хочу в рамках яндекс-облака оставаться. Для этого оно ведь и нужно, разве не так?

Собственно про это я тему и создал. Как отдать HTTP 302 при обращении на example.com используя средства яндекс-облака.

или придумай костыль через облачную функцию

И как именно использовать облачную функцию для этого функционала? Функцию, которая отдаёт редирект я сделать смогу, но она будет расположена по совершенно другому адресу. К своему домену я её могу подвязать через API Gateway, но там ровно то же ограничение: домен не ниже третьего уровня.

Legioner ★★★★★
() автор топика
Последнее исправление: Legioner (всего исправлений: 1)

Исходя из твоего описания задачи, я сделаю вывод, что тебе надо VPS/cloud server с минимальным ресурсом для работы web-сервера, даже без БД, PHP/python, а только nginx c правилами и директорией статики.

int13h ★★★★★
()

У селектел сторадж есть этот функционал, для поддоменов используешь cname, для домена 2 уровня - A и AAAA.

К контейнерам можно прикреплять домены второго уровня. Для этого в DNS нужно внести А-запись (для IPv6-адресов — АААА-запись), ссылающуюся на адреса, указанные в панели управления.

https://kb.selectel.ru/docs/cloud-services/cloud-storage/instructions/how_to_host_static_sites/

theanonymous
()

http://wwwizer.com/naked-domain-redirect использовал этот сервис, он, правда, https не поддерживает, что не очень хорошо. Может кто посоветует сервис получше.

Legioner ★★★★★
() автор топика
23 февраля 2022 г.

Привет!

Давай разберёмся, что вообще представляет собой Yandex Cloud DNS, вот цитата со страницы официальной документации:

Yandex Cloud DNS служит для управления зонами DNS и доменными именами ваших ресурсов.

Под ресурсами тут понимаются сервисы, запущенные внутри Облака.

С этим разобрались, теперь давай по существу.

  1. Для работы доменного имени необходимо его зарегистрировать. Яндекс таким не занимается, поэтому тебе нужно пойти к регистратору и купить домен. Хостинг можешь не покупать, он тебе не нужен.

  2. При покупке доменного имени будут созданы A-записи, которые суть указатели на IP-адреса.

  3. Для того, чтобы интернет узнал, что твой example.com ведёт на IP-адрес 1.4.8.8, необходимо, чтобы какой-то DNS-сервер хранил у себя такую запись. По умолчанию это доменный сервер твоего регистратора, но если необходимо, ты можешь разделегировать домен и в настройках сказать, что записи будет хранить Yandex Cloud DNS. Для этого зайди в настройки в личном кабинете регистратора и укажи доменные имена корневых DNS-серверов Яндекса:

    • ns1.yandexcloud.net
    • ns2.yandexcloud.net
  4. Поскольку ты только что передал хранение данных о твоей зоне под управление Yandex Cloud DNS, нужно сделать так, чтобы она знала об этом. Вот пошаговая инструкция. Заполнять так:

    • Имя зоны: любое, например, example-com.
    • Зона: example.com. (точка в конце обязательна)
    • Тип: Публичная.
  5. Создал публичную зону? Создай в ней NS-запись, которая будет вести на указанные ранее яндексовые DNSы.

  6. Допустим, ты создал бакет и теперь он публично доступен по адресу legioner-bucket.yandexcloud.net. Тебе нужно сделать так, чтобы запросы на example.com перенаправлялись в бакет. Есть два –стула– способа это сделать:

    • Неправильный: замучиться с переадресацией, накручиванием Web-серверов, настройкой редиректов и т. д.
    • Правильный: добавить CNAME в свою публичную зону, т. е. указать, что legioner-bucket.yandexcloud.net === example.com. В какую сторону будет работать, реши сам. Можно такую же запись замутить у регистратора, кстати. Если он, конечно, позволяет. Но тогда с сертификатом разбирайся сам.

Насчёт сертификата: можно сделать через Let’s Encrypt, нужно будет просто добавить в публичную зону несколько записей, подробнее здесь.

dunmaksim
()
Последнее исправление: dunmaksim (всего исправлений: 1)
Ответ на: комментарий от dunmaksim

Правильный: добавить CNAME в свою публичную зону, т. е. указать, что legioner-bucket.yandexcloud.net === example.com. В какую сторону будет работать, реши сам. Можно такую же запись замутить у регистратора, кстати. Если он, конечно, позволяет. Но тогда с сертификатом разбирайся сам.

И вот тут приехали, нельзя добавлять CNAME для корневого домена, не позволяет DNS. Для этого нужен CNAME Flattening, которого у яндекса пока нет, но обещают в планах. Будем ждать.

Legioner ★★★★★
() автор топика
Последнее исправление: Legioner (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.