关于成都移动宽带访问开源中国看不到图片的问题分析

一直有个别用户在反应这个问题。今天到了成都正巧也碰到了这个问题,一看酒店的带宽就是成都移动。

现象是:访问开源中国网站,网页样式都可以正常显示,但是用户头像以及用户上传的图片都无法显示。

例如这张图片:

https://static.oschina.net/uploads/cooperation/index_banner_five_ZJcvV.jpg

使用工具检测一下:

bash-3.2# curl -I https://static.oschina.net/uploads/cooperation/index_banner_five_ZJcvV.jpg curl: (35) Server aborted the SSL handshake

bash-3.2# ping static.oschina.net
PING static.oschina.net (117.177.241.17): 56 data bytes
64 bytes from 117.177.241.17: icmp_seq=0 ttl=56 time=6.605 ms

首先开源中国的二级域名 static.oschina.net 是指向我们自己的服务器,但是这里的 static.oschina.net 被指向 117.177.241.17 这个 IP,由于开源中国前面有腾讯大禹的高防,我们找了腾讯的人,对方也告知这个 IP 地址并非腾讯高防的 IP 地址。

那怎么会解析到这个IP地址上,难道就是所谓的DNS污染?

其实基本上可以认定是 DNS 污染的问题,这个问题在移动网络里比较普遍。移动公司为了降低它和其他运营商之间的网络资源占用,会在内部做一些缓存服务。这样移动用户访问一些 Web 资源就直接可以走移动内部的网络。

好吧,那依照上面的错误,我又对 http 的进行了测试

bash-3.2# curl -I http://static.oschina.net/uploads/cooperation/index_banner_five_ZJcvV.jpg HTTP/1.1 200 OK
Server: Tengine/2.1.0
Date: Thu, 13 Oct 2016 14:31:36 GMT
Content-Type: image/jpeg
Content-Length: 20908
Connection: keep-alive
Last-Modified: Thu, 13 Oct 2016 09:28:18 GMT
ETag: "57ff53b2-51ac"
Expires: Fri, 14 Oct 2016 14:31:36 GMT
Cache-Control: max-age=86400
X-Cache: HIT
Accept-Ranges: bytes

很正常。

也就是说同一个图片文件,使用 http 是可以访问,但使用 https 就无法访问。但是访问 https://www.oschina.net 却是正常的。

那么我觉得已经可以确定问题是出在移动的这个缓存服务器上。

不太清楚移动的这个缓存服务到底做了什么事情,国庆前我司更换了 SSL 的证书,会是这个引起的吗?

原文地址:https://www.cnblogs.com/mtxcat/p/12176463.html