Как перенаправить запросы домена на URL-адрес gae

У меня есть разные клиенты, у каждого из которых есть собственная размещенная Saas-страница в моем приложении gae. Например:

  • myapp.appspot.com/customer/123
  • myapp.appspot.com/customer/456

каждый из клиентов может захотеть, чтобы его доменное имя, например theBigDomain.com, «невидимо» переадресовывалось на myapp.appspot.com/customer/123.

Обратите внимание, я хочу, чтобы theBigDomain.com/myservlet?id=theId#aBookmarkUrl передавалось на целевой URL как myapp.appspot.com/customer/123/myservlet?id=theId#aBookmarkUrl

Я искал документацию Google, и я не могу найти способ сделать это.

Примечание. Мне не нужна переадресация, при которой человек, вводящий theBigDomain.com, обнаруживает, что его больше нет, и я не хочу, чтобы фрейм включал мой URL-адрес в theBigDomain.com, поскольку я хочу, чтобы пользователь был able to click on the back button.

Короче говоря, я хочу, чтобы домены работали как прокси, зная, что, насколько мне известно, прокси не подходят для некоторого контента, например, если моя целевая ссылка содержит видео на YouTube, это может не сработать. Поэтому я спрашиваю, есть ли способ сделать перенаправление DNS для URL-адреса, а не для домена ???

Использование поддоменов также ограничено: создание поддомена для каждого клиента будет утомительной работой...


person Zied Hamdi    schedule 07.11.2014    source источник


Ответы (1)


Использование поддоменов также ограничено: создание поддомена для каждого клиента будет утомительной работой...

Как так? На самом деле это может быть намного проще для вас/ваших клиентов, поскольку вашим клиентам не придется иметь дело с проверкой домена/настройками DNS, и все, что вам нужно будет сделать, это добавить один хост * (подстановочный знак) к вашему основному домену, указывающий на ghs.googlehosted.com и добавив *.yourdomain.com в настройки приложений GAE. В вашем приложении в выбранной вами структуре вы увидите, на какой поддомен пришел запрос, и обработаете его как уникальный идентификатор клиента (вместо 123/456). Посмотрите, как определить субдомен на python/webapp2. Если вы используете другую комбинацию языка/фреймворка, есть и альтернативные функции.

Если вы все еще хотите, чтобы клиенты использовали свои собственные домены, все становится немного сложнее. Сначала они должны предоставить вам полное доменное имя, а затем добавить его в настройки своего приложения GAE. Затем вам и вашим клиентам необходимо выполнить один из шагов проверки, перечисленных на этой странице: https://support.google.com/a/answer/60216?hl=ru, и после этого вам нужно будет попросить своих клиентов создать запись CNAME в своих доменах/субдоменах, указывающую на ghs.googlehosted.com. После создания записи CNAME вы будете обрабатывать это так же, как если бы это были субдомены в вашем собственном домене, то есть в вашей структуре определить, на какой домен пришел запрос, и обработать его как уникальный идентификатор клиента для обслуживания приложения этого клиента.

person Mihail Russu    schedule 10.11.2014
comment
Привет, Михаил, спасибо, вы только что заставили меня понять, что gae обрабатывает все поддомены по умолчанию, как указано здесь (я этого не знал, как-то пропустил это при чтении :-)) cloud.google.com/appengine/docs/domain Конечно, я использую сервер Java, и получить URL-адрес запроса довольно просто. Для с настройками DNS все в порядке, я могу приобрести для них домен клиентов и выполнить эти настройки. Так что спасибо, что заставили меня понять это :-). Все было там, я просто посмотрел на это слишком колеблющимся взглядом :-D (это не моя специальность) С уважением - person Zied Hamdi; 13.11.2014