Мультиарендность в облаке Google, как получить собственный домен

В облаке Google вы можете использовать appengine API для получения домена *.appspot.com. Как получить домен клиента в случае, когда домены используются в качестве пространств имен в мультитенантном приложении.

Скажем, customer.example.com указывает на super-cool-app.appspot.com через конфигурацию DNS CNAME, как во время обработки запроса можно получить customer.example.com, как правило, серверы будут транслировать SERVER_NAME через заголовки. Предлагает ли Google Cloud App Engine такие заголовки?


person iswak    schedule 27.11.2016    source источник


Ответы (1)


Просматривая документы AppEngine на

https://cloud.google.com/appengine/docs/java/multitenancy/multitenancy#Java_Setting_the_current_namespace –

NamespaceManager.getGoogleAppsNamespace() вернет домен. В документе указано, что этот метод возвращает пустое значение, если приложение размещено на apppot.

Я не пробовал это лично, но документы выглядят многообещающе.

person Sai Pullabhotla    schedule 29.11.2016
comment
Я отладил среду App Engine, выгрузил информацию о запросе и обнаружил, что значение заголовка Host содержит используемый пользовательский домен. key:Host value:[custom_domain_appears_here] Я считаю, что это лучший подход с точки зрения получения домена, который будет использоваться для интервалов между именами. В Go можно запустить appengineContext := appengine.NewContext(r) appengine.Namespace( appengineContext , r.Header.Get("Host")) - person iswak; 30.11.2016