Статический веб-сайт в Yandex Object Storage
Чтобы разместить статический веб-сайт в Object Storage:
- Создайте бакет с публичным доступом
- Настройте главную веб-страницу сайта и страницу ошибки
- Настройте использование собственного домена
- Загрузите файлы сайта
1. Создайте публичный бакет
Чтобы создать бакет для файлов статического сайта:
-
Перейдите в консоль управления Яндекс.Облака и выберите каталог, в котором будете выполнять операции.
-
На странице каталога нажмите кнопку Создать ресурс и выберите Бакет.
-
В поле Имя введите имя бакета, например,
example.com
. Имя бакета будет использоваться в доменном имени сайта:https://example.com.website.yandexcloud.net
.Имя должно удовлетворять требованиям:
- Длина имени должна быть от 3 до 63 символов.
- Имя может содержать строчные буквы латинского алфавита, цифры, дефисы и точки.
- Первый и последний символы должны быть буквами или цифрами.
- Символы справа и слева от точки должны быть буквами или цифрами.
- Имя не должно иметь вид IP-адреса (например 10.1.3.9).
Примечание
Если вы планируете использовать собственный домен для веб-сайта, имя бакета должно в точности совпадать с именем вашего домена.
-
Укажите максимальный размер бакета в ГБ.
-
Выберите Публичный доступ к бакету.
-
Нажмите кнопку Создать бакет.
2. Настройте главную страницу сайта и страницу ошибки
Необходимо загрузить и настроить индексную страницу и страницу ошибки. Для этого:
- Создайте на компьютере файлы:
index.html
с текстомHello world!
. Содержимое файла будет показываться при обращении к главной странице веб-сайта.error.html
с текстомError!
. Содержимое файла будет показываться при ответах веб-сайта с ошибками4хх
.
- На вкладке Объекты на странице вашего бакета нажмите кнопку Загрузить. В открывшемся окне выберите необходимые файлы и нажмите кнопку подтверждения.
- Нажмите кнопку Загрузить.
- Откройте вкладку Веб-сайт на странице вашего бакета.
- Выберите Хостинг.
- В поле Главная страница укажите
index.html
. - В поле Страница ошибки укажите
error.html
. - Нажмите кнопку Сохранить.
- Проверьте, что главная страница веб-сайта открывается. Для этого подключитесь к сайту через браузер по ссылке вида
https://{имя-бакета}.website.yandexcloud.net
. - Проверьте, что страница ошибки открывается. Для этого подключитесь к сайту через браузер по ссылке вида
https://{имя-бакета}.website.yandexcloud.net/error-check
.
3. Настройте использование собственного домена
Чтобы использовать для веб-сайта собственный домен:
- Проверьте, что имя бакета в точности совпадает с именем домена.
- Создайте запись типа CNAME (Canonical Name — каноническое имя) у своего провайдера DNS или на собственном DNS-сервере.
Примечание
Если вы используете собственный домен, сайт будет доступен только по протоколу HTTP, например, http://example.com
.
Протокол HTTPS можно использовать только при обращении к сайту по адресам Object Storage, например, http(s)://example.com.website.yandexcloud.net
.
В инструкции ниже описана настройка внешнего DNS-сервиса на примере reg.ru для доменных имен example.com.website.yandexcloud.net
и example.com
:
- На вкладке Веб-сайт на странице бакета в консоли управления найдите адрес сайта.
- Войдите в панель управления внешнего DNS-сервиса. Перейдите в список ваших доменов и нажмите на имя нужного домена.
- Перейдите по ссылке Управление зоной в блоке Управление доменом.
- Создайте CNAME-запись со значениями полей:
- Subdomain —
www
. - Canonical name — адрес сайта с точкой на конце, например,
example.com.website.yandexcloud.net.
.
- Subdomain —
- Подождите 15-20 минут, пока изменения DNS-записей вводятся в действие. Время ожидания может отличаться для вашего DNS-сервиса.
4. Загрузите файлы веб-сайта
После настройки и проверки доступности сайта загрузите в бакет остальные файлы, необходимые для работы сайта. Используйте для этого консоль управления, API или один из доступных инструментов для работы с Object Storage.