AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 596541
Accepted
Chris Peterson
Chris Peterson
Asked: 2014-05-17 07:34:08 +0800 CST2014-05-17 07:34:08 +0800 CST 2014-05-17 07:34:08 +0800 CST

IIS8.5 不提供字体文件

  • 772

出于某种原因,我的 IIS 不会返回任何字体文件。它们都以 404 的形式返回。我已验证 URL 正确且 MIME 类型正确。字体文件当前位于使用 MVC4 的 .NET 4.5 项目中。当我将文件移动到项目之外,进入服务器的根目录时,它可以很好地提供文件。我已经验证项目的 web.config 中没有对文件扩展名的处理方式进行任何覆盖。

到目前为止,.TTF、.EOT、.SVG 和 .WOFF 文件都在发生这种情况。同一目录中的其他静态文件可以正常返回。IIS8.5 中是否有一些设置阻止返回字体文件?

我附上了一个由失败的请求跟踪生成的日志文件。

https://dl.dropboxusercontent.com/u/39382497/fr000001.xml

iis-8.5
  • 3 3 个回答
  • 5756 Views

3 个回答

  • Voted
  1. Best Answer
    Chris Peterson
    2014-05-19T13:57:45+08:002014-05-19T13:57:45+08:00

    这个问题似乎在项目的工作过程中得到了解决。Andrew Morton 为遇到类似问题的其他人提供了一些出色的故障排除步骤。我将提供快速列表:

    • 验证服务器正在使用正确的 MIME 类型。使用 IIS 管理器 > 服务器 > 项目 > MIME 类型。以下是对我有用的 MIME 类型列表:

      • .eot = 应用程序/vnd.ms-fontobject
      • .svg = 图像/svg+xml
      • .ttf = 应用程序/八位字节流
      • .woff = 应用程序/x-font-woff
    • 如果这不起作用,请验证 Web 服务器对项目文件夹和存储文件的文件夹具有权限。遵循教程将有很大帮助。

    • 使用ProcessMonitor等工具进一步调试将有助于缩小更顽固的服务器问题。

    希望这可以帮助某人。

    • 5
  2. Nattrass
    2019-10-31T02:16:10+08:002019-10-31T02:16:10+08:00

    我通过检查 ISS 错误日志中的状态代码来诊断我的解决方案。

    sc-status sc-substatus sc-win32-status

    500 0 1346

    win32 状态表示

    ERROR_BAD_IMPERSONATION_LEVEL

    1346 (0x542)

    未提供所需的模拟级别,或者提供的模拟级别无效。

    https://docs.microsoft.com/en-gb/windows/win32/debug/system-error-codes--1300-1699-

    原来有一篇关于这个故障的MS文章。

    https://blogs.msdn.microsoft.com/asgoyal/2012/08/25/one-thing-you-must-do-when-getting-http-500-0-1346-error/

    检查相应应用程序的应用程序池标识是否是“身份验证后模拟客户端”策略的一部分。要求应用程序池身份必须直接或通过继承的成员身份成为此策略的一部分。

    要检查此策略 – 开始 –> 运行 –> secpol.msc –> 本地策略 –> 用户权限分配

    对我来说,问题是该策略中缺少“IIS_IUSRS”组。

    • 0
  3. TGD
    2020-06-26T17:24:52+08:002020-06-26T17:24:52+08:00

    尝试这个:

    1. 在 [您选择的编辑器] 中创建一个 html 文件,该文件将描述性内容写入浏览器,以便您知道它已解决:

      震颤谵妄,没什么大不了的

    2. 测试它以确保它是有效的 html
    3. 将其放置在您的字体来源的目录中 - [您选择的浏览器] 的开发工具中的 404 错误证明了这一点(应该是相对路径)
    4. 导航到它 - 它解决了吗?

    如果是,这是您的应用程序服务器中的 mime 类型的配置问题

    如果不是,您的字体未解析,因为预期的路径不正确 - 查看 .html 文件的 404 错误,它应该通过显示相对于 Web 根目录的 unc 路径来显示应用程序服务器从何处查找您的字体

    • 0

相关问题

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve