Я хочу создать веб-приложение, в котором интерфейс (статический) и бэкэнд (API), за исключением совместного использования одного и того же домена, полностью разделены. Обычно я считаю, что это не должно быть никаких проблем, но у меня есть некоторые специальные требования:Обслуживание Django API на Heroku и одностраничное приложение на Amazon S3 в том же домене
- пробеги API на Heroku (с использованием Django & TastyPie)
- все статическое содержимое, в том числе HTML файлы будут размещенных на Amazon S3
приложение внешнего интерфейса будет одной страницы приложения Javascript (с базовым шаблоном, позволяет называть его index.html
) и заполнить содержимое из API через AJAX. Поскольку я не хочу внедрять CORS для API еще и хотел бы следовать политике одного и того же происхождения, я хочу, чтобы и API, и файлы на S3 (ведро) каким-то образом обменивались одним и тем же доменом. Я также не хочу использовать приложение flatpages Django или вообще визуализировать index.html
через Django.
Я просмотрел Google и stackoverflow, но пока не нашел подходящего решения. Насколько я читал наивный способ (указать домен на приложение Heroku и ведро S3 как-то) невозможно. Некоторые решения я имею в виду, но не нашел источники для:
- , если это возможно, указывая имя домена к API на Heroku и ведро S3
- проходя некоторые варианты Heroku для визуализации HTML, который размещен на S3 (ProcFile?), Используя Django и библиотеки для S3 для получения других статических активов
- возможно что-то делать с boto для достижения этого
- другие совершенно разные предложения?
Пробовал ли кто-нибудь подобное раньше и может указать мне в правильном направлении?
Одно дополнение: Позже я хочу использовать что-то lile PhantomJS, чтобы сделать одностраничное приложение сканируемым. Этот вывод для сканеров должен идеально размещаться в хранилище S3.
Что относительно субдоменов? bucket.domain.tld -> Ваш ковш S3. domain.tld -> Heroku. Или это против той же политики происхождения? – Jannis
То же правило происхождения также распространяется на поддомены, которых я боюсь. Я думаю, что сейчас я предполагаю, что буду реализовывать CORS. –
вы можете использовать JSONP для многих вещей. В прошлом я мог использовать его с перекрестными доменами. –