#reactjs #azure #azure-front-door #session-affinity
Вопрос:
Мы пытаемся настроить входную дверь Azure для маршрутизации трафика между нашими двумя идентичными статическими веб-сайтами, размещенными в двух разных учетных записях хранения. Внутри Входной двери был создан внутренний пул, содержащий 2 имени внутренних хостов (ссылки на учетные записи хранения). Если включен только один из внутренних хостов, доступ к веб-сайту через URL-адрес входной двери работает отлично. Однако нам необходимо включить их оба, чтобы обеспечить балансировку нагрузки, а также развертывание синего/зеленого цвета.
Способ загрузки веб-сайта заключается в том, что первоначальный запрос извлекает index.html файл. В index.html ссылки на файлы около 20. js-файлов. Затем он пытается получить все эти .js-файлы с помощью 20 новых запросов к входной двери. Как упоминалось ранее, это прекрасно работает только с одним поддерживаемым хостом. Однако, когда они оба включены, некоторые запросы на загрузку js-файлов направляются в учетную запись хранения 1, а некоторые-в учетную запись хранения 2, в результате чего некоторые из них возвращают 404, не найдено. Веб-приложение основано на реакции, поэтому сценарии, созданные при создании, содержат хэшированные имена файлов, подразумевающие, что имена файлов различаются в двух учетных записях хранения, что объясняет 404.
Как я это вижу, есть 2 решения проблемы:
- Можем ли мы заставить реагировать идентично называть файлы сборки? Если это так, то не имеет значения, что все запросы направляются через Входную дверь.
- Можем ли мы настроить входную дверь так, чтобы все запросы на загрузку сценариев направлялись на тот же серверный хост, что и первоначальный запрос на загрузку index.html был загружен из? Мы попытались включить привязку к сеансу, которая сработала не так, как ожидалось.
Большое спасибо!
Ответ №1:
Вы можете включить привязку сеанса у входной двери, чтобы гарантировать, что запросы от одного клиента все время будут поступать на один и тот же сервер, это настроено на интерфейсе/домене в AFD