Пользовательский домен App Engine с сервисом
Я настроил собственный домен с App Engine после следования инструкциям по DNS-записям:
https://cloud.google.com/appengine/docs/standard/java/mapping-custom-domains
Он работает для службы по умолчанию с использованием URL-адреса http://MY_CUSTOM_DOMAIN, но я не могу получить доступ к другим службам с помощью URL-адресов http://SERVICE_ID.MY_CUSTOM_DOMAIN. Нужно ли сопоставлять другой набор записей DNS?
Ответы
Ответ 1
Проверьте, как использовать поддомены и как подстановочные отображение работает в GCP документы здесь ( на самом деле это следующие шаги на веб - сайте, который вы следовали и связаны). Убедитесь, что ваш DNS-провайдер разрешает использование подстановочных знаков в записях хоста CNAME
, иначе такое сопоставление будет невозможно.
В этой записи блога показан реальный пример сопоставления поддоменов с сервисами с помощью App Engine.
Ответ 2
Здесь пошагово:
- Убедитесь, что вы являетесь владельцем родительского домена здесь: https://www.google.com/webmasters/verification/home (например, для
subdomain.example.com
вам необходим собственный example.com
). Если нет, попросите друга добавить вас в качестве владельца. - Создайте запись CNAME, указывающую на:
ghs.googlehosted.com
(в облачном DNS или где-либо еще). Примечание. Это приведет к простою, но App Engine необходимо создать SSL-сертификат, чтобы избежать простоев... - Добавить пользовательский домен в App Engine
- Зайдите в
App Engine → Settings → Custom Domains
- Нажмите на
Add a custom domain
- Выберите подтвержденный родительский домен и нажмите "
Continue
- Введите поддомен (например,
subdomain.example.com
) и нажмите " Save mappings
- Нажмите
Done
(вы уже сделали этот последний шаг)
- Обновить правила отправки App Engine
- Запустите
gcloud app describe --project <GOOGLE_CLOUD_PROJECT_ID>
и посмотрите текущий раздел dispatchRules
- Создайте файл
dispatch.yaml
или dispatch.yml
с вашим новым правилом, а также с уже существующими правилами (обратите внимание, что формат файла отличается от выходных данных команды)
dispatch:
- url: <DOMAIN>/* # e.g. subdomain.example.com/*
service: <SERVICE-NAME>
-
gcloud app deploy dispatch.yaml --project <GOOGLE_CLOUD_PROJECT_ID>
его с помощью: gcloud app deploy dispatch.yaml --project <GOOGLE_CLOUD_PROJECT_ID>