如何更新Azure App Service的web.config以加载.ttf字体文件
Azure App Service TTF字体加载404问题解决方案
方案1:修改站点web.config配置
新版Kudu已将文件管理入口整合到顶部导航栏的「Debug console」模块,操作步骤如下:
- 进入App Service对应的Kudu控制台,点击顶部导航的「Debug console」,任选PowerShell/CMD模式进入
- 在文件导航栏进入
site/wwwroot目录,该目录为站点根目录 - 若根目录已存在
web.config文件,点击文件旁的编辑按钮;若不存在则新建该文件,写入以下配置:
<?xml version="1.0" encoding="utf-8"?> <configuration> <system.webServer> <staticContent> <remove fileExtension=".ttf" /> <mimeMap fileExtension=".ttf" mimeType="font/ttf" /> <!-- 如有其他字体格式加载异常,可一并添加对应配置 --> <remove fileExtension=".woff" /> <mimeMap fileExtension=".woff" mimeType="font/woff" /> <remove fileExtension=".woff2" /> <mimeMap fileExtension=".woff2" mimeType="font/woff2" /> </staticContent> </system.webServer> </configuration>
如果原有web.config已存在system.webServer节点,仅需将<staticContent>块插入到该节点内部即可,无需完全替换原有配置。
方案2:直接修改Azure存储Blob的MIME类型
由于字体文件存放在Azure存储Blob中,可直接调整Blob的内容类型配置,无需修改站点配置:
- 进入对应存储账户,找到存放字体的容器
- 打开报错的TTF字体文件详情页,切换到「属性」标签
- 将「内容类型」字段默认值
application/octet-stream修改为font/ttf后保存 - 如有批量TTF字体文件,可通过Azure Storage Explorer工具批量修改内容类型,操作效率更高
生效验证注意事项
- 配置修改后请清空浏览器缓存,或使用无痕模式访问测试,避免本地缓存干扰验证结果
- 若Blob存储配置了CDN加速,需刷新对应字体文件的CDN节点缓存后配置才会生效
内容的提问来源于stack exchange,提问作者jacoma
相关产品推荐
相关产品推荐

