首页 > 解决方案 > 对托管在 Azure 中作为应用服务的 Angular 应用程序的 Nonce 支持

问题描述

我正在尝试将 Angular 12 应用程序投入生产并努力添加随机数以支持内联脚本(来自第三方来源)。第三方脚本支持在其端使用基于自定义配置的随机数。

内容安全策略 (CSP) 被定义为 index.html 中的元标记,并且需要在其中定义随机数以及与脚本标记内联(据我了解)。理想情况下,我想删除元标记并在 Azure 应用服务主机环境使用的 web.config 中定义标头。我还希望在那里添加一个不支持作为元标记的 Content Security Policy Report Only 标头。

该应用程序需要一个非常严格的 CSP,其中 script-src 指令不能包含 unsafe-inline;这应该增加对 XSS 的保护。

根据我的研究,我无法找到解决方案。我看到的所有内容都假设使用 nginx(作为 Web 服务器)并且需要在该端进行一些配置。我知道一个 .NET Core 解决方案,您可以在其中使用请求/响应管道来提供随机数创建和令牌替换以及应用程序的 CSP 标头定义。但是,我没有使用 .NET Core,因为这是一个纯 Angular 应用程序。我正在与之合作的站点可靠性工程师就此与 Microsoft 联系,他们建议使用 .NET Core,并表示不支持在 Azure Native App Services 中创建 nonce(据说它在下面使用 IIS)。所以他主张应用程序提供这种支持。我只是没有看到解决方案。

标签: angularazurecontent-security-policy

解决方案


推荐阅读