Как я могу получить foo.somedomain.com обработанный myapp.appspot.com/foo на appengine - PullRequest
4 голосов
/ 10 июня 2009

Вот чего я хотел бы достичь

http://foo.somedomain.com обрабатывается http://myapp.appspot.com/foo (приложение Google Appengine Myapp) и основной URL-адрес маскируется.

Обратите внимание на следующее:

  • somedomain.com - сторонний домен, который хотел бы добавить foo.somedomain.com
  • mydomain.com будет CNAME'd для myapp.appspot.com
  • mydomain.com / foo будет указывать на myapp.appspot.com/foo

другие сценарии

  1. можно сделать так, чтобы foo.mydomain.com указывал на myapp.appsot.com/foo
  2. может foo.somedomain.com указывать непосредственно на myapp.appspot.com/foo

Добавлено: myapp.appspot.com разработан с использованием django w / app-engine-patch

Ответы [ 3 ]

6 голосов
/ 11 июня 2009

Вы не можете сделать это описанным способом. Для этого вам необходимо:

  1. CNAME foo.somedomain.com для ghs.google.com (не для myapp.appspot.com)
  2. Настройте Google Apps для своего домена на somedomain.com, если это еще не сделано
  3. Добавьте приложение myapp на foo.somedomain.com через панель управления приложениями

Как только это будет сделано, ваше приложение может проверить self.request.host, чтобы определить, какое имя хоста было отправлено, и соответствующим образом направить запросы.

0 голосов
/ 17 июня 2009

Этот вопрос был задан в одном из выступлений Google I / O в 2009 году. К сожалению, данный ответ был не поддержан, но возможности некоторых обходных путей могут существовать. 2009 Google I / O видео

0 голосов
/ 10 июня 2009

Вы можете проанализировать поддомен из заголовка Host, а затем вызвать webapp.RequestHandler, соответствующий пути /[sub-domain], предполагая, что *.yourdomain.com направлено в приложение Google App Engine.

Посмотрите на webapp.WSGIApplication и посмотрите, есть ли способ получить карту webapp.RequestHandler для пути. Кроме того, вы можете изменить объект запроса, чтобы изменить запрошенный путь (однако в этом я не уверен).

...