通过 Azure Front Door 访问的存储帐户上托管的静态网站未正确加载

问题描述

我们正在尝试将 Azure Front Door 配置为在托管在两个不同存储帐户上的两个相同静态网站之间路由流量。在 Front Door 中设置了一个后端池,其中包含 2 个后端主机名(指向存储帐户的链接)。仅启用一个后端主机后,通过 Front Door URL 访问网站工作正常。但是,我们需要同时启用它们才能启用负载平衡和蓝/绿部署。

网站的加载方式是初始请求是获取 index.html 文件。 index.html 文件引用了大约。 20 个 .js 文件。然后它尝试通过前门的 20 个新请求检索所有这些 .js 文件。如前所述,这在仅启用一个支持的主机的情况下工作得非常好。然而,当它们都被启用时,一些加载 .js 文件的请求被路由到存储帐户 1,一些被路由到存储帐户 2,这导致它们中的一些返回 404,未找到。该 Web 应用程序是基于 React 的,因此构建时生成的脚本对文件名进行了哈希处理,这意味着两个存储帐户上的文件名不同,从而解释了 404。

我怎么看,这个问题有两种解决方案:

  1. 我们可以强制 react 以相同的名称命名构建文件吗?如果是这样,所有请求都通过 Front Door 路由就没有关系了。
  2. 我们能否配置前门以确保所有加载脚本的请求都路由到与加载 index.html 的初始请求相同的后端主机?我们已尝试启用会话关联,但未按预期工作。

非常感谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...