Статические веб-сайты, размещенные в учетных записях хранения, доступ к которым осуществляется через входную дверь Azure, не загружены должным образом

#reactjs #azure #azure-front-door #session-affinity

Вопрос:

Мы пытаемся настроить входную дверь Azure для маршрутизации трафика между нашими двумя идентичными статическими веб-сайтами, размещенными в двух разных учетных записях хранения. Внутри Входной двери был создан внутренний пул, содержащий 2 имени внутренних хостов (ссылки на учетные записи хранения). Если включен только один из внутренних хостов, доступ к веб-сайту через URL-адрес входной двери работает отлично. Однако нам необходимо включить их оба, чтобы обеспечить балансировку нагрузки, а также развертывание синего/зеленого цвета.

Способ загрузки веб-сайта заключается в том, что первоначальный запрос извлекает index.html файл. В index.html ссылки на файлы около 20. js-файлов. Затем он пытается получить все эти .js-файлы с помощью 20 новых запросов к входной двери. Как упоминалось ранее, это прекрасно работает только с одним поддерживаемым хостом. Однако, когда они оба включены, некоторые запросы на загрузку js-файлов направляются в учетную запись хранения 1, а некоторые-в учетную запись хранения 2, в результате чего некоторые из них возвращают 404, не найдено. Веб-приложение основано на реакции, поэтому сценарии, созданные при создании, содержат хэшированные имена файлов, подразумевающие, что имена файлов различаются в двух учетных записях хранения, что объясняет 404.

Как я это вижу, есть 2 решения проблемы:

  1. Можем ли мы заставить реагировать идентично называть файлы сборки? Если это так, то не имеет значения, что все запросы направляются через Входную дверь.
  2. Можем ли мы настроить входную дверь так, чтобы все запросы на загрузку сценариев направлялись на тот же серверный хост, что и первоначальный запрос на загрузку index.html был загружен из? Мы попытались включить привязку к сеансу, которая сработала не так, как ожидалось.

Большое спасибо!

Ответ №1:

Вы можете включить привязку сеанса у входной двери, чтобы гарантировать, что запросы от одного клиента все время будут поступать на один и тот же сервер, это настроено на интерфейсе/домене в AFD