【发布时间】:2019-04-23 08:32:56
【问题描述】:
似乎没有一种明确定义的方式来使用 Azure 静态网站管理 HTTP 标头。我知道此功能仍处于预览阶段,但我和我的团队正在尝试将其制作为可用于生产的 Web 应用程序。
我认为大多数使用静态网站功能的人将使用 JavaScript 框架,如 Reactjs 或 Angular,就我而言,reactjs。由于没有 web.config 来管理 http 标头,因此不清楚如何处理这个问题。有问题的标头是内容安全策略、X-Content-Type-Options 和 X-XSS-Protection。
为了清楚起见,我在 Azure 上使用了新的静态 Web 托管,如下所述:https://azure.microsoft.com/en-us/blog/azure-storage-static-web-hosting-public-preview/
谢谢!
【问题讨论】:
-
是的,您目前可以做的事情非常有限。一种选择是在它前面设置一个 Azure Function 代理,可以根据需要添加标头。
-
@juunas 我实际上正在尝试这个,我遇到了问题。您是否在使用 react 项目的构建输出时完成了此代理?当我加载代理的 url 时,对已编译的 js 和 css 文件的引用为 404。我使用这篇文章:blog.headforcloud.com/2018/07/29/static-hosting-headers 作为参考,只是为了确保我们在同一页面上
-
实际上,您需要检查的主要内容是代理中的路由模板是否正确,并且 SAS 令牌对访问文件有效。您也可以尝试公开容器以隔离问题。如果存储认为您无法访问该文件,它会返回 404。
-
@juunas 有没有关于如何设置路线模板的屏幕截图或示例?我认为这是缺少的部分
-
我在这里放了一个带有路由的匿名版本:pastebin.com/E6zL8Mat
标签: reactjs http-headers azure-web-app-service azure-storage