Можно ли установить индексный файл для сегментов GCS без имен доменов?
У нас есть конкретная ситуация, когда мы хотим обслуживать статические веб-сайты из GCS (через loadbalancer w G CDN), и мы настоятельно рекомендуем НЕ использовать именование доменов для сегментов.
Причина, по которой мы НЕ хотим, чтобы это происходило, - процесс проверки домена, который очень неудобен для пользователя и требует дополнительных шагов для наших пользователей (я думаю, что мы должны быть в состоянии автоматизировать этот процесс довольно обширно, но это снова тонна дополнительной работы разработчика, которая Я пытаюсь обойти).
я пробовал
gsutil web set -m index.html gs://{bucket-name}
И я установил mike.adhero.io запись IP-адреса загрузочного балансировщика. Но это все еще показывает пропущенную ошибку стиля xml. mike.adhero.io/index.html работает как положено
Есть ли способ исправить это?
2 ответа
Можно ли установить индексный файл для сегментов GCS без имен доменов?
Нет. Причина в том, что это нарушит поведение API для обычного доступа к сегменту (запросы API).
MainPageSuffix
а также NotFoundPage
конфигурации веб-сайтов используются только для запросов, поступающих в облачное хранилище через конечную точку CNAME или облачную балансировку нагрузки. Например, запрос к www.example.com показывает страницу индекса, а эквивалентный запрос к storage.googleapis.com/www.example.com - нет.
Таким образом, поведение API для запросов к доменам облачного хранилища, таких как storage.googleapis.com/www.example.com, сохраняется. Например, вы можете продолжить перечисление объектов в корзине www.example.com, как и в любой другой корзине. В случае корзины www.example.com список объектов, который вы получаете, включает 404.html и index.html.
Это задокументировано в следующем документе Google:
Нет, это невозможно, как упоминал Джон Хэнли. При настройке сегмента без имен доменов это можно рассматривать как пространство хранения в облаке, и вам необходимо указать путь. Вы можете думать об этом как о жестком диске и папке, поэтому работает правильно только тогда, когда вы указываете путь и имя файла "mike.adhero.io/index.html" . После того, как вы настроите корзину с доменным именем, API распознает, что вы хотите использовать "Службу веб-сайта" вместо "Служба корзины хранилища".
Насколько я понимаю, вы пытаетесь использовать службу веб-сайта с конфигурацией службы хранилища, но по назначению и цели это невозможно / жизнеспособно. Пожалуйста, поправьте меня, если я ошибаюсь.
Также, как упоминал Джон, эти параметры необходимо настроить в облачном хранилище (при указании имени домена), поскольку балансировщик нагрузки служит только точкой доступа и распределением нагрузки для настроенных серверных служб.
Что касается процесса проверки домена [0], то вначале "да" может быть немного сложным, после того, как вы выполнили процесс один или два раза, может быть действительно легко. Я делюсь с вами парой видео, сначала о консоли веб-поиска [1], а затем о добавлении записи TXT в CLOUD DNS [2], учитывая, что вашим регистратором может быть Google Cloud DNS. Вы можете заметить, что процесс один и тот же, вам нужно только учитывать разницу в процессе каждого регистратора.
Надеюсь, эта информация поможет
Хорошего дня!
[0] https://cloud.google.com/storage/docs/domain-name-verification
[1] https://www.youtube.com/watch?v=VRCmKkzeeMI
[2] https://www.youtube.com/watch?v=ixIHDdHeInU