Хостинг статических сайтов
Вы можете разместить свой статический сайт в Object Storage. Статический сайт строится на клиентских технологиях, таких как HTML, CSS и JavaScript. Он не может содержать каких-либо скриптов, требующих запуска на стороне веб-сервера.
Примечание
Для работы хостинга необходим публичный доступ к бакету. Иначе при обращении к сайту Object Storage вернет пользователю ответ с кодом 403.
Object Storage позволяет настроить бакет:
-
Для хостинга статического сайта.
Загрузите в бакет содержимое вашего сайта и укажите главную страницу сайта
<WebsiteConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <IndexDocument> <Suffix>index.html</Suffix> </IndexDocument> <ErrorDocument> <Key>error.html</Key> </ErrorDocument> </WebsiteConfiguration>
-
Для переадресации всех запросов.
Вы можете указать хост, на который будут перенаправляться все запросы, а также задать протокол для передачи запросов
<WebsiteConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <RedirectAllRequestsTo> <HostName>example.com</HostName> <Protocol>http</Protocol> </RedirectAllRequestsTo> </WebsiteConfiguration>
-
Для условной переадресации запросов.
Используя правила маршрутизации можно перенаправлять запросы в соответствии с префиксами имен объектов или HTTP-кодами ответов. Вы можете перенаправить на другую веб-страницу запрос к удаленному объекту или перенаправить запросы, возвращающие ошибку.
Пример правила, которое перенаправляет запрос к удаленной папке на другую страницу
<WebsiteConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <RoutingRules> <RoutingRule> <Condition> <KeyPrefixEquals>temp/</KeyPrefixEquals> </Condition> <Redirect> <ReplaceKeyWith>folderdeleted.html</ReplaceKeyWith> </Redirect> </RoutingRule> </RoutingRules> </WebsiteConfiguration>
Настроить хостинг статического сайта, переадресацию всех запросов или условную переадресацию запросов можно с помощью консоли управления Yandex Cloud.
Все варианты настройки хостинга доступны через HTTP API, совместимый с Amazon S3.
После настройки бакета для хостинга сайт становится доступен по адресу:
http(s)://<имя_бакета>.website.yandexcloud.net
или
http(s)://website.yandexcloud.net/<имя_бакета>
Примечание
При использовании URL в формате http(s)://<имя_бакета>.storage.yandexcloud.net
протокол HTTPS доступен для бакета только в том случае, если имя бакета не содержит точек. Например:
https://example.storage.yandexcloud.net
— для этого бакета протокол HTTPS доступен.http://example.ru.storage.yandexcloud.net
— для этого бакета HTTPS недоступен.
Это связано с тем, что в Object Storage используются сертификаты Wildcard
Чтобы поддержать для бакета с точкой в имени протокол HTTPS, загрузите собственный сертификат безопасности в Object Storage.
Переадресация запросов с HTTP на HTTPS включается автоматически после настройки доступа к бакету по HTTPS. Дополнительных настроек для такой переадресации не требуется.
При обращении к сайту вы будете получать ответы с кодами, описанными в разделе Коды ответов статического сайта.
При хостинге сайта вы можете:
-
Использовать собственный домен.
Чтобы использовать протокол HTTPS с собственным доменом, укажите FQDN нужного домена в имени бакета.
Управлять доменами Yandex Cloud DNS можно как в настройках бакета, так и в сервисе Cloud DNS.
Из бакета с публичным доступом файлы можно получить по публичной ссылке как по протоколу HTTP, так и по протоколу HTTPS, даже если для бакета не настроен хостинг веб-сайта. В этом случае для доступа по протоколу HTTPS будет использован сертификат от GlobalSign