#坑嗲坑娘坑自己的「6666」端口(记一次网络故障排查)
上周末老子值班,客服同学打来电话,说XX订单有点问题,于是开机查问题,最后发现试nginx背后的其中一个实例貌似出了点问题,重启该实例,搞定。但上述这些都不是我今天要说的重点,接下来我需要把有问题的XX订单修复,偷个懒,就打算本地连VPN直接本地连现网服务去修复这笔订单,但接下来发生的事情,就是一个坑字…
问题现象
Postman是什么,自己百歌谷度!
Postman是一款功能强大的HTTP调试与模拟的chrome插件。
MYLL,怎么会不通呢?我不是有全部权限的吗?
问题排查
- 排除服务本身的问题
把地址改成nginx背后的实例,每个实例都测试了下,测试都是OK的。 - 排除nginx的问题
通过现网IDC的内网访问nginx汇聚服务,也是正常OK的。 - 排除VPN权限问题
找公司资深的RECH(David Jin同学)确认,我的账号对此机器是有权权限的,telnet也是通的,并直接拿HTTPcliet来访问,还是正常OK的。 - 排除本地网络问题
使用Fiddler抓包,我的天哪,居然没有抓到。 - 那问题显而易见,chrome出了“问题”
用chrome查问题,第一选择当然是“开发者工具”,映入眼帘的是“CAUTION: Provisional headers are shown”,这个警告的意思是说:请求的资源可能会被(扩展/或其他什么机制)屏蔽掉,如果放往常看到这个错误我基本上是忽略的。
要解决问题么有办法,通过google在SegmentFault上发现了这片文章:Chrome 里的请求报错 “CAUTION: Provisional headers are shown” 是什么意思? 一下子茅塞顿开。
之所以会出现这个警告,是因为去获取该资源的请求其实并(还)没有真的发生,所以 Header 里显示的是伪信息,直到服务器真的有响应返回,这里的 Header 信息才会被更新为真实的。不过这一切也可能不会发生,因为该请求可能会被屏蔽。比如说 AdBlock 什么的,当然了不全是浏览器扩展,具体情况具体分析了。
接下来通过Net Internals工具,在地址栏中键入:chrome://net-internals,重新发起请求,我们会惊奇地发现:
我们可以清晰的看到,并不是AdBlock(起初我还怀疑过它),ERR_UNSAFE_PORT,顾名思义就是“非安全端口” ,「6666」看上去挺酷的,可我现在真想哭,接下来的事情就还是交给Google吧(啊,Google上不了,好吧,那你就百度吧)。
问题解决
- chrome加启动参数
找到chrome的快捷方式,右键属性,增加以下启动参数: - 重新build chrome
下载chrome的源码(http://www.chromium.org/),然后进行修改,再重新build。
聊聊Net Internals
Net Internals 是一套工具集合,用于帮助诊断网络请求与访问方面的问题,它通过监听和搜集 DNS,Sockets,SPDY,Caches 等事件与数据来向开发者反馈各种网络请求的过程、状态以及可能产生影响的因素。其中一个很重要的功能就是“测试”,如果你无法访问某个网址,那么可以使用 “chrome://net-internals” -> “Tests” tab -> 输入网址,并开始测试,Chrome 将报告具体的问题所在。
然而,原因千千万,Net Internals 不可能那么聪明的就直接帮你分析出答案来,大多数情况下具体原因还是需要开发者通过抽丝剥茧自己来找原因的。
总个结
- 善于利用工具找问题:Postman+Fiddler+chrome开发者工具+Net Internals
- 善于利用网络搜索问题: Google、StackOverflow、SegmentFault…
附录:非安全端口列表
附上 Google Chrome 默认非安全端口列表,虽然以上方法可以解决问题,但建议尽量避免以下端口,谁想没事找麻烦啊:
1, // tcpmux 7, // echo 9, // discard 11, // systat 13, // daytime 15, // netstat 17, // qotd 19, // chargen 20, // ftp data 21, // ftp access 22, // ssh 23, // telnet 25, // smtp 37, // time 42, // name 43, // nicname 53, // domain 77, // priv-rjs 79, // finger 87, // ttylink 95, // supdup 101, // hostriame 102, // iso-tsap 103, // gppitnp 104, // acr-nema 109, // pop2 110, // pop3 111, // sunrpc 113, // auth 115, // sftp 117, // uucp-path 119, // nntp 123, // NTP 135, // loc-srv /epmap 139, // netbios 143, // imap2 179, // BGP 389, // ldap 465, // smtp+ssl 512, // print / exec 513, // login 514, // shell 515, // printer 526, // tempo 530, // courier 531, // chat 532, // netnews 540, // uucp 556, // remotefs 563, // nntp+ssl 587, // stmp? 601, // ?? 636, // ldap+ssl 993, // ldap+ssl 995, // pop3+ssl 2049, // nfs 3659, // apple-sasl / PasswordServer 4045, // lockd 6000, // X11 6665, // Alternate IRC [Apple addition] 6666, // Alternate IRC [Apple addition] 6667, // Standard IRC [Apple addition] 6668, // Alternate IRC [Apple addition] 6669, // Alternate IRC [Apple addition]
#欢迎关注我的个人微信公众号:能叔
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/84525.html