其他
大家好,我是轩辕。前几天,有位国外的粉丝遇到了一个网络问题,发现访问不了国内的某个网站。这让我想起三年前的一个事情,跟他的情况类似。当时这篇文章有点敏感,发了不到半个小时就删掉了,估计有很多人都没看到过。今天我做了修改,大家可以看下。当时的情况是这样的:总结:人在日本,开着WIFI访问不了极客时间,为啥?随后她还给我转发了一张浏览器的截图:我一下发现了不对劲,请注意这几个字:如果是我们的请求到不了服务器造成的无法访问,一般是这样提示的:或者请求能够到达服务器,但服务器拒绝访问,一般是这样提示的:而连接被重置,事情就不简单了。接下来,我让这位在日本的朋友装上了抓包神器wireshark,想抓一下网络通信,看看到底发生了什么。先看一下这位朋友的机器上,ping一下极客时间官网的域名,得到的IP地址:这是一个阿里云的服务器,在抓到的网络通信中,我看到了浏览器发起了多次的请求尝试连接,下面每一行都是一个会话:点开一个来看看,TCP的三次握手是正常的,服务器能够正常返回握手包,说明服务器是能够访问的,443端口也是能触达的:因为是443端口,HTTPS,按照协议规定,三次握手之后,接下来,客户端该发起SSL握手了,但诡异的事情就发生了,客户端刚刚发出了SSL的握手包,服务器就返回了一个RST报文:好家伙,这下知道为什么显示连接被重置了吧。什么是RST包?RST,就是ReSet,重置的意思,在《TCP/IP详解·卷一》中有提到:一般来说,当发现一个到达的报文段对于相关连接而言是不正确的时,