天天看點

爛筆頭筆記:favicon配置不是所有浏覽器都相容

一則故障告警

為了保證服務正常運作,在所有應用系統中都接入了日志收集系統,該系統還可以将一段時間内的錯誤資訊聚合,發送故障告警。以下是告警内容:

[日志監控]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      

解決方法

繼續閱讀