Сопоставить настраиваемый поддомен с определенной версией в App Engine

На этой странице ( https://cloud.google.com/appengine/docs/standard/nodejs/mapping-custom-domains) говорится:

Использование поддоменов

Если вы настроили сопоставление поддомена с подстановочными знаками для своего пользовательского домена, то ваше приложение будет обслуживать запросы на любой соответствующий поддомен.

  • Если пользователь просматривает домен, который соответствует имени версии приложения или имени службы, приложение обслуживает эту версию.
  • Если пользователь просматривает домен, который соответствует имени службы, приложение обслуживает эту службу.

Кроме того, на этой странице ( https://cloud.google.com/appengine/docs/standard/java/how-requests-are-routed) говорится:

Отправляет запрос доступному экземпляру определенной версии в default оказание услуг:

https://[VERSION_ID]-dot-[MY_PROJECT_ID].appspot.com

http://[VERSION_ID].[MY_CUSTOM_DOMAIN]


У меня есть следующие сервисы для моего проекта App Engine:

и следующие версии для этого сервиса:

"1" версия по умолчанию. "test1" это тестовая версия.

Тем не менее, когда я ввожу https://test1.mycustomdomain.com/ в браузер, он обслуживает версию по умолчанию, а не "test1" версия.

Если я ввожу https://test99.mycustomdomain.com/ в браузер, я вижу страницу с ошибкой, потому что эта версия не существует (как и ожидалось).

URL https://test1-dot-my_project_id.appspot.com/ работает, как и ожидалось (т.е. обслуживает "test1" версия).

Это мои настроенные домены:

Как заставить App Engine перенаправить запрос на правильную версию?

1 ответ

Решение

Любой домен, напрямую связанный с вашим приложением, будет обслуживать службу по умолчанию. Если test1.mycustomdomain.com отображается как пользовательский домен, он всегда будет служить 1 (дефолт).

Чтобы обслуживать именованные версии GAE с настраиваемым доменом, необходимо сопоставить домен с подстановочным знаком (*.mycustomdomain.com) и удалите другие сопоставленные субдомены, которые конфликтуют с вашими версиями. Примером работающих сопоставленных доменов будет:

  • mycustomdomain.com
  • www.mycustomdomain.com
  • *.mycustomdomain.com

С этой настройкой test1.mycustomdomain.com должен служить правильной версии, test1,


редактировать

Относительно группового сопоставления и HTTPS

Документация GCP о сопоставлении по шаблону гласит, что:

Примечание: сопоставления с подстановочными знаками не поддерживаются для управляемых сертификатов SSL.

Это может привести к убеждению, что подстановочное сопоставление не поддерживает HTTPS. Документация ссылается на управляемые сертификаты, которые предоставляет GAE. App Engine поддерживает SSL-сертификаты для подстановочных знаков, если вы используете свои собственные SSL-сертификаты:

Некоторые функции App Engine используют специальные субдомены. Например, приложение может использовать субдомены для адресации сервисов приложения или для адресации различных версий вашего приложения. Чтобы использовать их с SSL, имеет смысл настроить SAN или подстановочный сертификат. Подстановочные сертификаты поддерживают только один уровень поддоменов.

Другие вопросы по тегам