asp.net - 为什么我在尝试通过 HTTPS 访问 apple-touch-icon.png 时收到错误 403,但在浏览器中进行测试时会出现 200?
问题描述
我在 IIS 8.5 的网站根目录中有一个 apple-touch-icon.png,它位于标题中:
<link rel="apple-touch-icon" sizes="180x180" href="apple-touch-icon.png">
在 web.config 中,我授予对该文件的读取权限:
<add name="AppleTouch" path="apple-touch-icon.png" verb="*" type="System.Web.StaticFileHandler" resourceType="File" requireAccess="Read" preCondition="integratedMode" />
当我在所有浏览器中测试此图标时,图标会显示,但当我尝试在 iPad 上添加书签时,我会收到没有子状态的 403 错误。
即使我在https://realfavicongenerator.net/favicon_checker上检查网站图标,它们也能正常工作。
UPDATE1:在 IIS 中使用“失败的请求跟踪规则”我设法获得了有关该错误的更多信息。它显示了这个警告:
MODULE_SET_RESPONSE_ERROR_STATUS
ModuleName
IsapiFilterModule
Notification
AUTHENTICATE_REQUEST
HttpStatus 403
HttpReason
Forbidden
HttpSubStatus 0
UPDATE2:由于对 IsapiFilterModule 进行了更多调试,我发现 .htaccess 文件存在问题。apple-touch-icon.png 被 HackRepair.com Blacklist 2018 阻止,CFNnetwork被阻止。删除此 HTTP_USER_AGENT 的 RewriteCond 不会再出现 403 错误!apple-touch-icon 现在适用于 iPhone,但不适用于 iPad。
解决方案
推荐阅读
- laravel - 如何将数据从控制器发送到laravel中的rest api?
- azure-data-factory-2 - 如何在 Azure 数据工厂复制活动中使用源列对目标数据湖中的数据进行动态分区?
- r - 如何解决 r 中的“参数 x 为空”错误(Shiny Web 应用程序)
- python - 如何使用 Python Selenium 制作转发 YouTube 视频?
- node.js - 在我的 testcafe 项目中尝试 Jenkins,但构建失败
- javascript - Redux thunk 不会更改输入字段的值
- extjs - Ext js 7 现代面板.Resizer 拆分器配置
- python - 我将python转换为c编程。是否可以在另一个函数中定义一个函数?蟒蛇到C
- php - Laravel 8:试图获取非对象的属性“名称”
- python - 通过python将图表从excel复制到powerpoint