Несколько доменов, обслуживающих независимый контент с хостингом Firebase и облачными функциями? - PullRequest
0 голосов
/ 13 мая 2018

Я разрабатываю и создаю веб-приложение, в которое пользователи будут загружать статический файл шаблона HTML.Моя система проанализирует их шаблон и создаст код JavaScript для своих индивидуальных целей.

Я хочу, чтобы каждое использование имело свое собственное пространство имен, поэтому в идеале конечные точки должны выглядеть примерно так:

user1.domain.com/index.html
user1.domain.com/code.js

user2.domain.com
user2.domain.com/code.js

...

Этоневозможно программно записать статические файлы на хостинг Firebase, поэтому я предусмотрел облачную функцию, которая будет проверять HTTP-хост и обслуживать соответствующие файлы.Файл шаблона index.html пользователя 1 будет храниться в Firebase Storage в его собственном подпространстве, а пользователь 2 - аналогичным образом.

Конечной целью является получение www.userone.com и www.usertwo.com (мои клиенты выбралидоменов) сопоставлены с user1.domain.com и user2.domain.com соответственно, но я мог бы добиться этого, используя запросы на проксирование внешних CDN.

Для того чтобы вышеуказанное решение работало, мне нужно было вручную добавить домены в мой проект Firebase.(используя панель управления Firebase), поскольку каждый пользователь участвует в моем приложении.Я ожидал, что около 200 клиентов.

Я мог бы использовать staging.domain.com/user-{n}, и тогда мне нужно было бы только настроить один домен для моего проекта Firebase.Однако это вынудит пользователей использовать относительные ссылки на их содержимое в своем шаблоне.Кроме того, они будут иметь доступ к контенту других пользователей, то есть user-1/index.html может получить доступ к ../user-2/code.js, что не представляет угрозы безопасности, но допускает более склонные к ошибкам идиотизмы от пользователей.

Есть ли способ настроить хостинг длясопоставить *.domain.com с одной облачной функцией или, по крайней мере, user1.domain.com, user2... вручную?

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

Ответы [ 2 ]

0 голосов
/ 30 августа 2018

В одном проекте Firebase можно разместить несколько сайтов, обслуживающих разный контент.

вот пример firebase.json

{
  "hosting": [ {
      "target": "blog", // "blog" is the applied target-name for the Hosting site myapp-blog.
      "public": "blog/dist"
    },
    {
      "target": "app", // "app" is the applied target-name for the Hosting site myapp-app.
      "public": "app/dist",
      "rewrites": [...] // You can define specific hosting configurations for each site.
    }
  ]
}

Пожалуйста, посетите https://firebase.google.com/docs/hosting/multisites для получения дополнительной информации

0 голосов
/ 13 мая 2018

Есть ли способ настроить хостинг для сопоставления * .domain.com с одной облачной функцией или, по крайней мере, user1.domain.com, user2 ... вручную?

Вы можете сопоставить несколько доменов с проектом Firebase Hosting.Но каждый домен будет обслуживать один и тот же контент.

Невозможно настроить хостинг Firebase для обслуживания различного контента для разных доменов, сопоставленных с одним и тем же проектом.

Также см .:

...