Azure Blob 存储中托管的静态网站的 CSP Header

CSP Header for Static website Hosted in Azure Blob Storage

是否可以在 Azure blob 存储中托管的静态网站上添加内容安全策略 (CSP)headers?

我看到您可以使用 Azure CLI 通过以下命令添加元数据:

az storage blob metadata update --container-name --name "blobname" --metadata key=value

但是,这些永远不会传播到 HTTP Headers。

有没有办法将自定义 headers 添加到 blob?

因为目前这个功能不可用(你可以去 feedback site upvote 这个功能),所以你可以用 Azure Function Functions 来实现它。

这里是你可以参考的博客:Static web hosting with security headers on Azure.

并且有一种方法(这是 msdnenter link description here 中的答案)可以为 Web 添加 X-XSS 保护。在应用程序 wwwroot 文件夹中创建 web.config 文件,然后粘贴以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>  
    <system.webServer>        
        <!-- START x-xss protection -->
        <httpProtocol>
            <customHeaders>
                <add name="X-Xss-Protection" value="1; mode=block" />
                <add name="Content-Security-Policy" value="default-src 'self';" />
                <remove name="X-Powered-By" />                          
            </customHeaders>
        </httpProtocol>
        <!-- END x-xss protection -->
        <rewrite>
            <rules>
                <!-- BEGIN rule TAG FOR HTTPS REDIRECT -->
                <rule name="Force HTTPS" enabled="true">
                  <match url="(.*)" ignoreCase="false" />
                  <conditions>
                    <add input="{HTTPS}" pattern="off" />
                  </conditions>
                  <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent" />
                </rule>
                <!-- END rule TAG FOR HTTPS REDIRECT -->       
            </rules>
        </rewrite>        
    </system.webServer>
</configuration>

在将 CDN 映射到 Azure Blob 存储中托管的静态网站后,您可以将 CSP headers 附加到规则引擎部分中的 Azure CDN。请找到参考步骤 here