烂笔头笔记:favicon配置不是所有浏览器都兼容
Posted Jack_Chai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了烂笔头笔记:favicon配置不是所有浏览器都兼容相关的知识,希望对你有一定的参考价值。
本文出处:http://blog.csdn.net/chaijunkun/article/details/90205293,转载请注明。由于本人不定期会整理相关博文,会对相应内容作出完善。因此强烈建议在原始出处查看此文。
一则故障告警
为了保证服务正常运行,在所有应用系统中都接入了日志收集系统,该系统还可以将一段时间内的错误信息聚合,发送故障告警。以下是告警内容:
[日志监控]XX-mweb状态码500告警
你有1条延迟发送报警消息,最近一条是:
[2019-05-14 13:50:19]
nginx.m.somebusiness.com最近5分钟内有状态码为500日志319条.
最近一条请求记录为:
URL:/favicon.ico
主机:192.168.0.1
参数:
状态码:500
详细请看:http://short.cn/M4Gmznc
*注:告警日志中涉及到敏感信息的内容已经做了脱敏处理
检查页面
通过日志中反应的域名可以很明显地看出,该错误是nginx日志(日志系统很明确地划分nginx日志和业务系统日志使用不同域名),并非业务系统日志。但是一个favicon.ico的请求怎么会打到业务系统里呢(nginx日志很少单纯出现500错误,一般是反向代理到业务系统时,由业务系统返回产生)?
在页面中,head部分有明确的配置:
<link rel="shortcut icon" href="//x.shortimg.cn/business/2019/m/images/favicon.ico">
按照此配置,浏览器在页面加载时使用的favicon应该采用这个上述配置才对。后来进入日志系统,查看造成这些错误的UA是哪些,发现绝大多数来源于这样一个UA:
Mozilla/5.0 (Linux; android 7.1.1; OPPO R11s Build/NMF26X; wv) AppleWebKit/537.36 (Khtml, like Gecko) Version/4.0 Chrome/55.0.2883.91 Mobile Safari/537.36 incapp/1.1+%28inc_android%3B9.10.0%3BFAcDIW0xtK-GggDvLvbA-L7iSIpoFl-qb4G_JUwc_xwKT14MCz4zWVtzk8oK0IuI%3B7.1.1%3BOPPO%2BR11s%3B79cef6477b23629a2c264fe8019232d1%29 inc_android/9.10.0 nettype/4g
也就是说这样一个环境是不支持favicon设置的:
系统:Android 7.1.1
品牌型号:OPPO R11s
打开环境:(公司开发的移动端产品,内部版本号9.10.0)
解决方法
将该业务系统对应域名下的favicon.ico请求直接转发到指定的地址下,从此世界安静了。
以上是关于烂笔头笔记:favicon配置不是所有浏览器都兼容的主要内容,如果未能解决你的问题,请参考以下文章
烂笔头笔记:关闭Idea自动生成变量时添加的final修饰符
烂笔头笔记:Charles工具在Windows系统中闪退(无法打开)的问题修复