Статикалық сайттарды хостингтеу
Статикалық сайттарды хостингтеу (static site hosting) — VK Object Storage бакеті үшін статикалық контентке қолжетімділік мүмкіндіктерін кеңейтетін қосымша опция. Бұл опциясыз объектінің мазмұнын алу үшін оның кілтiне сәйкес келетін URL қолданылады. Статикалық сайттарды хостингтеу статикалық контентті қайта бағыттау ережелерімен біріктіруге, сондай-ақ индекс бетін (мысалы, index.html) және сұрау қателері кезінде қайтарылатын қате бетін (мысалы, 404) орнатуға мүмкіндік береді.
Қолдану мысалдары:
- визитка-сайт,
- жеке блог,
- лендингтер,
- сұрауларды қайта бағыттау,
- құжаттама.
VK Object Storage негізіндегі статикалық сайт мыналардан тұруы мүмкін:
- статикалық контент: HTML, CSS, медиафайлдар (суреттер, аудио, видео), құжаттар (PDF, TXT) және браузерде қарауға қолжетімді басқа форматтар.
- серверлік өңдеуді қажет етпейтін JavaScript сценарий (скрипт) файлдары: ашылмалы мәзірлер, табтар, аккордеондар және т.б.
Конфигурация орнатылғаннан кейін статикалық сайт мына мекенжай бойынша қолжетімді болады:
https://<ИМЯ_БАКЕТА>.hb-website.<ENDPOINT_HOSTNAME>/<PREFIX>
Мұнда:
-
<ИМЯ_БАКЕТА>— статикалық сайт конфигурациясы орнатылған бакеттің атауы; -
<ENDPOINT_HOSTNAME>— VK Object Storage сервисінің хост атауы, аккаунттың өңіріне сәйкес келуі тиіс:hb.vkcloud-storage.ruнемесеhb.ru-msk.vkcloud-storage.ru— Мәскеу өңірінің домені;hb.kz-ast.vkcloud-storage.ru— Қазақстан өңірінің домені.
-
<PREFIX>— индекс беті объектісі кілтінің префиксі. Бос болуы мүмкін.
Конфигурация JSON форматында беріледі және AWS CLI арқылы конфигурацияны басқару кезінде қолданылады.
Конфигурацияның жалпы құрылымы:
{"IndexDocument": { // Индексная страница"Suffix": "string"},"ErrorDocument": { // Страница ошибки"Key": "string"},"RoutingRules": [ // Правила перенаправления{"Condition": {"HttpErrorCodeReturnedEquals": "string","KeyPrefixEquals": "string"},"Redirect": {"HostName": "string","HttpRedirectCode": "string","Protocol": "http"|"https","ReplaceKeyPrefixWith": "string","ReplaceKeyWith": "string"}}...],"RedirectAllRequestsTo": { // Безусловное перенаправление всех запросов"HostName": "string","Protocol": "http"|"https"}}
IndexDocument — индекс бетін орнататын конфигурация элементі.
IndexDocument элементінің басқа конфигурация элементтерімен үйлесімділігі:
Конфигурация элементі | Үйлесімділік | Функционалдылық |
|---|---|---|
| ||
| ||
|
IndexDocument параметрлері:
Атауы | Сипаттама |
|---|---|
| |
| Индекс беті объектісі үшін суффикс (атау). Форматы: Сайт бетін ашқанда көрсетілген мәні бар объектінің мазмұны жүктеледі.
Толық жолы: |
ErrorDocument — қате бетін орнататын конфигурация элементі. индекс бетін орнататын IndexDocument конфигурация элементімен бірге қолданылады.
Мысалы, жоқ бетті ашқанда 404 қатесі пайда болады. Жоқ беттің орнына көрсетілген объектінің мазмұны жүктеледі, мысалы errordoc/file.html.
ErrorDocument элементінің басқа конфигурация элементтерімен үйлесімділігі:
Конфигурация элементі | Үйлесімділік | Функционалдылық |
|---|---|---|
| ||
| ||
|
ErrorDocument параметрлері:
Атауы | Сипаттама |
|---|---|
| |
| Қате беті объектісінің толық кілті. Форматы:
Толық жолы: |
RoutingRules — қайта бағыттау ережелерін орнататын конфигурация элементі. индекс бетін орнататын IndexDocument конфигурация элементімен бірге қолданылады.
RoutingRules элементінің басқа конфигурация элементтерімен үйлесімділігі:
Конфигурация элементі | Үйлесімділік | Функционалдылық |
|---|---|---|
| ||
| ||
|
RoutingRules параметрлері:
Атауы | Сипаттама |
|---|---|
| |
|
Егер бірде-бір шарт көрсетілмесе, қайта бағыттау барлық сұраулар үшін іске қосылады. Толық жолы: |
| Ереже іске қосылатын
Форматы: Көрсетілген қате коды бар HTTP-жауап алынғанда, Толық жолы: |
| Сұралған объект кілтінің префиксі. Толық кілтті көрсетсеңіз, ереже тек осы объектіге қолданылады.
Форматы: Көрсетілген кілті немесе префиксі бар бетті ашқанда, Толық жолы: |
|
Толық жолы: |
| Қайта бағыттау орындалатын хост атауы. Форматы:
Егер мәні көрсетілмесе, хост атауы өзгермейді. Толық жолы: |
| Қайта бағыттау кезінде қайтарылатын Форматы: Егер мәні көрсетілмесе, әдепкі жауап коды —
Толық жолы: |
| Протоколды өзгерту қажет болғанда көрсетіледі. Форматы: Мүмкін мәндер:
Толық жолы: |
| Сұралған объект префиксін ауыстыру қажет объект кілтінің префиксі. Форматы: Бос жол көрсетілсе, жаңа сұрау префикссіз болады. Әдетте объектілер тобын бір префикстен екіншісіне қайта бағыттау үшін
Толық жолы: |
| Қайта бағыттау қажет объект кілті. Форматы:
Толық жолы: |
RedirectAllRequestsTo — сайттың барлық сұраулары үшін шартсыз қайта бағыттау ережелерін орнататын конфигурация элементі.
RedirectAllRequestsTo элементінің басқа конфигурация элементтерімен үйлесімділігі:
Конфигурация элементі | Үйлесімділік | Функционалдылық |
|---|---|---|
| ||
| ||
|
RedirectAllRequestsTo параметрлері:
Атауы | Сипаттама |
|---|---|
| |
| Қайта бағыттау орындалатын хост атауы. Міндетті параметр. Форматы:
Толық жолы: |
| Протоколды өзгерту қажет болғанда көрсетіледі. Форматы: Мүмкін мәндер:
Толық жолы: |
Кейбір параметрлер бір-бірімен үйлеспейді, сондықтан олардың комбинацияларының саны шектеулі.
-
Тек индекс беті
IndexDocument:{"IndexDocument": {"Suffix": "index.html"}} -
Индекс беті
IndexDocumentжәне қате бетіErrorDocument:{"IndexDocument": {"Suffix": "index.html"},"ErrorDocument": {"Key": "error.html"}} -
Индекс беті
IndexDocumentжәне қайта бағыттау ережелеріRoutingRules:{"IndexDocument": {"Suffix": "index.html"},"RoutingRules": [{"Condition": {"KeyPrefixEquals": "docs/"},"Redirect": {"ReplaceKeyPrefixWith": "documents/","HttpRedirectCode": "301"}}]}Келтірілген мысалда
docs/префиксі бар барлық сұрауларdocuments/мекенжайына қайта бағытталып,301HTTP жауап кодын қайтарады. -
Индекс беті
IndexDocument, қате бетіErrorDocumentжәне қайта бағыттау ережелеріRoutingRules:{"IndexDocument": {"Suffix": "index.html"},"ErrorDocument": {"Key": "error.html"},"RoutingRules": [{"Condition": {"HttpErrorCodeReturnedEquals": "404"},"Redirect": {"ReplaceKeyWith": "index.html","HttpRedirectCode": "302"}}]}Келтірілген мысалда
404HTTP-қатесі кезінде сұрауindex.htmlмекенжайына қайта бағытталады, ал басқа қателер кезіндеerror.htmlмазмұны қайтарылады. -
Шартсыз қайта бағыттау
RedirectAllRequestsToбарлық сұраулар үшін:{"RedirectAllRequestsTo": {"HostName": "example.com","Protocol": "https"}}Келтірілген мысалда барлық сұраулар
httpsпротоколы бойыншаexample.comмекенжайына қайта бағытталады. Жауапта әрқашан301коды қайтарылады.